Spring--基础细节
Posted 耍流氓的兔兔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring--基础细节相关的知识,希望对你有一定的参考价值。
1 id 和 name 的区别
id:不可重复,不可包含特殊字符
name:可以重复,可以包含特殊字符
2 scope
singleton:配置单例模式(默认),在容器启动时创建对象,而且只创建一个
prototype:配置多例模式,在容器启动时不创建对象,当获取对象时才创建
3 lazy-init
true:延迟创建对象,容器启动时不创建,获取时再创建,只适用于单例模式
false:(默认)
4 init-method 和 destroy-mothod
init-method:初始化调用方法
destroy-mothod:销毁时调用方法
config:
<bean name="p1" id="p2" scope="singleton" lazy-init="true" init-method="init" destroy-method="destroy" class="com.roxy.spring.pojo.Person"></bean>
test:
@Test
public void testIdAndName() {
//创建容器
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//查找对象
Person p1 = (Person)context.getBean("p1");
Person p2 = (Person)context.getBean("p1");
context.destroy();//执行销毁
// context.close();//触发销毁
}
console:
Creating shared instance of singleton bean ‘p2‘
Creating instance of bean ‘p2‘
构造方法被调用
Eagerly caching bean ‘p2‘ to allow for resolving potential circular references
Invoking init method ‘init‘ on bean with name ‘p2‘
Person被初始化!
Invoking destroy method ‘destroy‘ on bean with name ‘p2‘
Person被销毁!
以上是关于Spring--基础细节的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段