第一种:直接初始化Spring容器,获得对象

ApplicationContextapplicationContext=newClassPathXmlApplicationContext("applicationContext.xml"); applicationContext.getBean("beanId");

关于配置文件的读取也有好多种,我用到的是配置文件在SRC下面。这样会初始化Spring容器,然后再得到配置的对象。

第二种:通过环境来获得

ApplicationContextac1=WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()); ApplicationContextac2=WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext()); ac1.getBean("beanId"); ac2.getBean("beanId");

区别是前者会抛异常,而后者没有时返回NULL

第三种:实现ApplicationContextAware接口下面给出实现类,这也是我用的方法

importorg.springframework.beans.BeansException; importorg.springframework.context.ApplicationContext; importorg.springframework.context.ApplicationContextAware; /** *@说明获得Spring配置中的某个对象 *@author崔素强 *@see */ publicclassSpringFactoryimplementsApplicationContextAware{ privatestaticApplicationContextcontext; @SuppressWarnings("static-access") @Override publicvoidsetApplicationContext(ApplicationContextapplicationContext) throwsBeansException{ this.context=applicationContext; } publicstaticObjectgetObject(Stringid){ Objectobject=null; object=context.getBean(id); returnobject; } }

然后在applicationContext.xml中配置该Bean即可。

但是注意:

1:一定要把该Bean配置在配置文件的末尾。

2:取消applicationContext.xml的default-lazy-init="true"属性。

3:注解的时候,Bean的命名是Java小写规则。

这是WEB开发中可以用到的一些方法,其他方法,欢迎大家积极提供!

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:our333@126.com我们将配合处理!

原文地址:Spring获得管理对象的几种实用方法发布于2021-11-25 16:32:02