繁体   English   中英

不使用web.xml加载应用程序上下文

[英]Load application context without using web.xml

我想知道是否有一种无需在web.xml中定义就可以加载Spring应用程序上下文的方法。

我看到您可以使用:

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

但是,如果您想使用bean,则必须具有getBean()才能访问它。 我在想可能有一种方法可以像在Web xml中那样以编程方式加载上下文,而不必调用getBean。

有任何想法吗?

您可以使用:

ctx.getAutowireCapableBeanFactory().autowireBeanProperties(this,
                  AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);        

...其中ctx是您的ClassPathXmlApplicationContext,从而避免了需要调用getBean()- this上的任何spring bean字段都将自动为您布线。

有一种方法。 您只需要阅读官方文档。 相关部分在这里

编辑 :对不起,读错了您的问题。 您可以使用

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

并在应用程序启动时使用ServletContextListener加载它。 当您的应用程序启动时,如果已经正确配置了bean接线,则不必调用getBean()来访问所有bean。 就像使用Java SE一样对待它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM