第2章:spring中的Bean/2.4 延迟初始化/2.4.1 概念
第2章:spring中的Bean/2.4 延迟初始化/2.4.2 延迟操作实现/2.4.2.1 XML方式
- 设置全部的Bean都延迟
- 设置某个Bean延迟
第2章:spring中的Bean/2.4 延迟初始化/2.4.2 延迟操作实现/2.4.2.2 JAVA配置方式
- 使用@Lazy注解,其中true表示延迟,false表示不延迟
- 举例:
- 配置类定义:
public AccountService accountService() {
System.out.println("accountService方法被调用");
AccountServiceImpl bean = new AccountServiceImpl();
bean.setAccountDao(accountDao());
public AccountDao accountDao() {
System.out.println("AccountDao方法被调用");
AccountDao bean = new AccountDaoInMemoryImpl();
- 调用结果:
- 配置类定义:
第2章:spring中的Bean/2.4 延迟初始化/2.4.2 延迟操作实现/2.4.2.3 注解方式
- 在注解类上面也是使用@Lazy注解进行标识
- 举例:
- 注解类:
- 调用结果:
第2章:spring中的Bean/2.4 延迟初始化/2.4.3 被依赖的Bean:延迟不生效
- 如果某个Bean(比如A)被其它的Bean依赖,如果其它Bean在spring容器启动时被初始化,那么某个Bean(比如A)的延迟机制不会生效
- 举例: