java代码中获得spring的IOC容器问题
我在web.xml中配置了contextConfigLocation/WEB-INF/beans.xmlorg.springframework.web.context.C...
我在web.xml中配置了
contextConfigLocation
/WEB-INF/beans.xml
org.springframework.web.context.ContextLoaderListener
这样一个东西。然后我想知道如何在java代码中获得我beans.xml中配置的对象 展开
contextConfigLocation
/WEB-INF/beans.xml
org.springframework.web.context.ContextLoaderListener
这样一个东西。然后我想知道如何在java代码中获得我beans.xml中配置的对象 展开
3个回答
展开全部
1、获得spring配置文件
ClassPathResource cpr = new ClassPathResource("applicationContext.xml");
获取配置文件的第二种方法(通过文件系统获取配置文件,此时配置文件应该放在工程根目录下):
ApplicationContext ctx = FileSystemXmlApplicationContext("applicationConetxt.xml");
2、把这个文件加载到工厂中
XmlBeanFactory factory = new XmlBeanFactory(cpr); 这样我们就可以在工厂中获取我们想要的东西,而不需要知道这个东西是怎么来的。
3、配置文件写法
<bean id="chinese" class="类的全名">
4、通过XmlBeanFactory的getBean("beanId");
即:通过spring配置文件的bean标签的id,来得到相应的实例。
也即:factory.getBean(beanId);获得那个bean对象。
ClassPathResource cpr = new ClassPathResource("applicationContext.xml");
获取配置文件的第二种方法(通过文件系统获取配置文件,此时配置文件应该放在工程根目录下):
ApplicationContext ctx = FileSystemXmlApplicationContext("applicationConetxt.xml");
2、把这个文件加载到工厂中
XmlBeanFactory factory = new XmlBeanFactory(cpr); 这样我们就可以在工厂中获取我们想要的东西,而不需要知道这个东西是怎么来的。
3、配置文件写法
<bean id="chinese" class="类的全名">
4、通过XmlBeanFactory的getBean("beanId");
即:通过spring配置文件的bean标签的id,来得到相应的实例。
也即:factory.getBean(beanId);获得那个bean对象。
展开全部
你要在哪里获取,beans.xml里可以将action配置将service注入,如果你非要直接获取那就得用
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);
或
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);
或
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否是注解方式? 如果是注解方式 spring ioc会自动注入
@Autowired
private ClientCertificateApplyService clientCertificateApplyService;
这样在action就可以直接用啦。
@Autowired
private ClientCertificateApplyService clientCertificateApplyService;
这样在action就可以直接用啦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询