我必须在何时何地初始化弹簧环境?

时间:2015-02-14 13:14:19

标签: spring

使用Spring时我是个菜鸟,我有疑问。

我必须在何时何地初始化弹簧上下文?

现在,当我要使用类似属性文件的内容时,我正在初始化上下文:

 ClassPathXmlApplicationContext cxt = new ClassPathXmlApplicationContext("myContext.xml");

但是我已经读过Spring上下文必须在我的程序(Main.java)的入口点初始化,并在必要的方法中作为参数传递。

这是真的吗?

2 个答案:

答案 0 :(得分:0)

如果您正在谈论Web应用程序,则应该使用web.xml Loading context in Spring using web.xml

如果是测试,情况会有所不同: spring junit load application context for tests

在这两种情况下,您都不需要显式的main.java

答案 1 :(得分:0)

正如@MarounMaroun所说,这实际上取决于你想做什么。

当人们使用Spring时,他们通常构建整个应用程序以利用what Spring has to offer。也就是说,他们将所有内容放在Spring上下文中,对其进行配置,并让它在启动时将所有内容连接在一起。因此,为了有用,应用程序需要在执行任何其他操作之前加载Spring上下文。

对于独立应用程序,您可以使用main方法进行初始化。 调用main时,首先初始化Spring上下文,并在上下文完全加载后保留对它的引用,并在需要时使其可用。

如果在以后或其他类中初始化Spring上下文是有意义的,你也可以这样做,但正如我所说,大多数应用程序需要初始化的上下文才能运行这就是为什么他们在main方法中尽早初始化它的原因,这可能是您已阅读过的建议。