Spring 基础知识(二)Spring的bean初始化与生命周期,以及注入
2024-10-19 12:36:38
Spring bean 初始化:
参考博文: https://www.cnblogs.com/luyanliang/p/5567164.html
1、 加载xml 文件、 扫描注解 ,形成bean定义对象仓库
2、分析仓库bean 定义对象,主要是分析bean与bean 之间的关系,为实例化做准备
3、通过反射机制实例化类,并进行属性赋值
Spring 初始化:
参考博文:https://www.cnblogs.com/ViviChan/p/4981712.html
在普通的JAVA工程中,我们可以通过代码显式new一个ClassPathXmlApplicationContext或者FileSystemXmlApplicationContext来初始化一个Spring容器。
在Web工程中,我们一般是在web.xml中配置Spring框架提供的监听器 ContextLoaderListener 来启动。如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml classpath:resources/services.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
bean 的生命周期
bean 默认都是 Singleton , 如果配置singleton=false 或scope="prototype"
,则每次获取时 会产生一个新的实例
bean 初始化以及小会顺序:
可以控制bean 生命周期回调方法的 三种方式:
- JSR-250的
@PostConstruct
和@PreDestroy 优先级最高
- 配置中的init-method 和 destroy-method 配置
- 默认的初始化和destroy方法 , beans 标签中 default-init-method 和default-destroy-method 指定的方法名。
bean 集合类注入
参考: http://wiki.jikexueyuan.com/project/spring/injecting-collection.html
Spring注解@Resource和@Autowired区别对比
参考: https://www.cnblogs.com/think-in-java/p/5474740.html
@Autowired byType
@Resource (name type)byName or byType
最新文章
- 基于jsp+servlet图书管理系统之后台万能模板
- 【WP开发】认清“不透明度”与“可见性”的区别
- 【linux】学习3
- hough变换
- 用MySQL log调试程序
- HW6.13
- DevExpress控件XtraGrid的Master-Detail中DetailViewCaption显示问题
- 搭建LAMP环境示例
- 拓扑排序&;关键路径
- Angular 选项卡
- 11.python线程
- sql的优化30条
- 201621123043 《Java程序设计》第3周学习总结
- 通过IP地址定位准确的地理位置
- 工单进入IN_MO后在FP_PREPROCESS被过滤
- jvm垃圾回收的过程
- 2016-2017-2 20155309南皓芯《java程序设计》第十周学习总结
- 2.6.33中关于at91sam9260的i2c controller驱动的问题
- How to install Mysql in the CentOS
- 根据某个key给二维数组分组