srk*_*srk 55 spring spring-ioc
我初学春天,ESP反转控制.我很困惑地理解了下面的区别
<bean id="demo" class="Demo" lazy-init="false"/>
<bean id="demo" class="Demo" lazy-init="true"/>
<bean id="demo" class="Demo" lazy-init="default"/>
Run Code Online (Sandbox Code Playgroud)
据我所知:lazy-init = false在启动时创建bean,而lazy-init = true在启动时不创建bean,而是在请求特定bean时创建bean.在这里纠正我,如果我的解释是错误的.
究竟什么是lazy-init的默认行为?它将如何实例化?
Dav*_*idR 24
对于那些来到这里并使用Java配置的人,您可以使用以下注释将Bean设置为lazy-init:
在配置类中:
@Configuration
// @Lazy - For all Beans to load lazily
public class AppConf {
@Bean
@Lazy
public Demo demo() {
return new Demo();
}
}
Run Code Online (Sandbox Code Playgroud)
对于组件扫描和自动布线:
@Component
@Lazy
public class Demo {
....
....
}
@Component
public class B {
@Autowired
@Lazy // If this is not here, Demo will still get eagerly instantiated to satisfy this request.
private Demo demo;
.......
}
Run Code Online (Sandbox Code Playgroud)
zag*_*gyi 21
beanlazy-init="default"上的设置仅指封闭bean元素的属性设置的内容.隐含的默认值是.default-lazy-initdefault-lazy-initfalse
如果lazy-initbean上没有指定属性,则总是急切地实例化它.
| 归档时间: |
|
| 查看次数: |
107928 次 |
| 最近记录: |