【发布时间】:2019-11-24 17:00:23
【问题描述】:
我正在从 XML 文件创建我的 Spring 应用程序上下文,如下所示:
this.applicationContext = new ClassPathXmlApplicationContext("classpath*:/spring-configuration/application-context.xml");
我知道有一个选项可以在 XML 文件本身中指定 default-lazy-init,如下例所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans
...
default-lazy-init="true">
...
</beans>
但是,我想根据调用此代码时的上下文来决定是否使用默认的惰性初始化...有没有办法做到这一点?我基本上想要一个额外的配置布尔值,我可以传递给ClassPathXmlApplicationContext 构造函数,它会告诉它是否使用默认的惰性初始化。
【问题讨论】:
-
你不能向上下文的构造函数传递任何额外的东西,因为它不允许额外的参数。有几种方法可以即时更改 bean 定义,但无论如何你可以在开始时只做一次。为什么调用代码后需要做决定?
标签: java spring lazy-initialization