使用Spring时我是个菜鸟,我有疑问。
我必须在何时何地初始化弹簧上下文?
现在,当我要使用类似属性文件的内容时,我正在初始化上下文:
ClassPathXmlApplicationContext cxt = new ClassPathXmlApplicationContext("myContext.xml");
但是我已经读过Spring上下文必须在我的程序(Main.java)的入口点初始化,并在必要的方法中作为参数传递。
这是真的吗?
答案 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
方法中尽早初始化它的原因,这可能是您已阅读过的建议。