当前位置: 首页 > news >正文

如何做公众号小说网站赚钱百度官网下载

如何做公众号小说网站赚钱,百度官网下载,好兄弟资源网,dw不会写代码能建立网站吗深入理解Spring的ApplicationContext:案例详解与应用 在Spring框架的丰富生态中,ApplicationContext扮演着至关重要的角色。作为BeanFactory的扩展,ApplicationContext不仅继承了其所有功能,还引入了更多高级特性,使得…

深入理解Spring的ApplicationContext:案例详解与应用

在Spring框架的丰富生态中,ApplicationContext扮演着至关重要的角色。作为BeanFactory的扩展,ApplicationContext不仅继承了其所有功能,还引入了更多高级特性,使得Spring容器的管理更加灵活和方便。本文将结合CSDN上的一篇热门文章,通过案例学习,带您深入了解ApplicationContext的基础概念和应用场景。

ApplicationContext与BeanFactory的对比

ApplicationContext通常被称为Spring上下文,它是BeanFactory的派生接口,提供了更多面向实际应用的功能。ApplicationContext能够通过配置方式实现许多BeanFactory需要编程实现的功能,使得Spring容器的管理更加灵活和方便。

特性ApplicationContextBeanFactory
范围企业级基础级
配置支持消息资源、事件发布等仅支持基础的bean管理
AOP内置AOP支持
事件支持应用程序事件
类型转换提供类型转换服务

案例学习:ApplicationContext的应用

为了更好地理解ApplicationContext,我们将通过一个简单的案例来学习它的使用。我们将创建两个User对象,一个配置为单例(singleton),另一个配置为多例(prototype)。

创建User对象

首先,我们定义一个简单的User类:

@Data
public class User {private String id;private String name;private Integer age;
}

配置ApplicationContext

接下来,我们创建一个名为applicationContext.xml的Spring配置文件:

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!-- singleton --><bean id="UserSingleton" class="com.example.User" scope="singleton"p:id="1" p:name="辰兮" p:age="22"/><!-- prototype --><bean id="UserPrototype" class="com.example.User" scope="prototype"p:id="2" p:name="辰兮要努力" p:age="23"/></beans>

测试ApplicationContext

现在,我们创建一个测试类来学习ApplicationContext的使用:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;public class ApplicationContextDemo {private static final Logger logger = LoggerFactory.getLogger(ApplicationContextDemo.class);public static void main(String[] args) {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");// Singleton: 单实例User user = applicationContext.getBean("UserSingleton", User.class);User user1 = applicationContext.getBean("UserSingleton", User.class);logger.info("user.hashCode() is:{}", user.hashCode());logger.info("user1.hashCode() is:{}", user1.hashCode());logger.info("user is:{}", user);logger.info("user1 is:{}", user1);logger.info("user == user1 :{}", user == user1);// Prototype: 多实例User user3 = applicationContext.getBean("UserPrototype", User.class);User user4 = applicationContext.getBean("UserPrototype", User.class);logger.info("user3.hashCode() is:{}", user3.hashCode());logger.info("user4.hashCode() is:{}", user4.hashCode());logger.info("user3 is:{}", user3);logger.info("user4 is:{}", user4);logger.info("user3 == user4 :{}", user3 == user4);}
}

执行代码

控制台日志输出将显示单例bean的两个引用指向同一个对象,而多例bean每次获取都是一个新的实例:

user.hashCode() is:1446002
user1.hashCode() is:1446002
user is:User(id=1, name=辰兮, age=22)
user1 is:User(id=1, name=辰兮, age=22)
user == user1 :true
user3.hashCode() is:266875004
user4.hashCode() is:266875004
user3 is:User(id=2, name=辰兮要努力, age=23)
user4 is:User(id=2, name=辰兮要努力, age=23)
user3 == user4 :false

代码逻辑

  • 创建Spring的工厂类:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
  • 通过工厂解析XML获取Bean实例:
User user = (User) applicationContext.getBean("UserSingleton");

拓展补充

  • 对象相等则hashCode一定相等;
  • hashCode相等对象未必相等。

使用==比较两个对象,可以复习一下Spring作用域相关知识点。

ApplicationContext总结

如果说BeanFactory是Spring的心脏,那么ApplicationContext就是完整的身躯了。ApplicationContextBeanFactory派生而来,提供了更多面向实际应用的功能,是“应用的容器”。

结语

通过本文的学习,您应该对ApplicationContext有了更深入的理解。它不仅是Spring框架的核心组件,也是您在构建企业级应用程序时的得力助手。希望本文能够帮助您在实际开发中更好地利用ApplicationContext,构建出更加健壮和可维护的应用程序。

http://www.hkea.cn/news/631620/

相关文章:

  • 用flash做网站教程个人发布信息免费推广平台
  • 网站主题页网站模板中心
  • 制作网页用什么进行页面布局seo优化方案案例
  • 国外经典平面设计网站做网站的费用
  • 学校营销型网站建设最新长尾关键词挖掘
  • 服务网络是什么意思上海关键词排名优化价格
  • 黑龙江做网站哪家好下载官方正版百度
  • 实时网站制作网站关键字优化
  • 商城网站要多少钱网页制作app
  • 做网站前端难吗个人网站
  • 怎么做亚马逊网站百度小说排行榜2020
  • 山东省建设文化传媒有限公司网站网站排名查询工具有哪些
  • 营销型企业网站有哪些网站建设找哪家好
  • 玉环做企业网站任何东西都能搜出来的软件
  • 无锡专业网站建设搜索优化seo
  • 成品软件源码网站大全百度权重10的网站
  • 深圳手机网站建设多少钱外链代发软件
  • 璧山集团网站建设互联网推广营销
  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版