从spring容器中获取bean?

网友投稿 135 2024-01-12


如何从当前spring容器中获得bean

方法一:在初始化时保存ApplicationContext对象new ClassPathXmlApplicationContext(applicationContext.xml).getBean(beanId);这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的配置信息。

写一个类,实现BeanFactoryAware接口,把该接口配置到spring中,然后把getbean方法写成静态的,就可以动态获取了。

acgetBean(beanId);说明:这种方式适合于采用Spring框架的B/S系统,通过ServletContext对象获取ApplicationContext对象,然后在通过它获取需要的类实例。上面两个工具方式的区别是,前者在获取失败时抛出异常,后者返回null。

在项目运行时吗?这个方法我在用,spring初始化时将容器对象注入到工具类中,运行时用容器获取bean,你可以试试。

这实际上是使用了依赖查找来获得对象,并且在servlet代码中硬编码了应用对象的bean名字。这种方式,相当于把spring容器中的bean加载到了servlet容器中,即把spring中的bean放到web.xml的bean中。

spring获取bean的几种方式

方法一:在初始化时保存ApplicationContext对象new ClassPathXmlApplicationContext(applicationContext.xml).getBean(beanId);这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的配置信息。

BeanFactory允许InputStream作为构造函数的参数,也可以org.springframework.core.io.Resource接口。

第一种方式:在用spring做一个web项目,有一个需求是在没有servletContext的情况下,根据beanId获得当前容器中的具体bean对象。请问如何实现?注意,这个beanId可能是外部系统传过来的,所以无法用@autowire提前注入。

spring的上下文可以同时获取两个bean对象吗

spring的用法是对的,肯定是你testOracleDAO没实例化或者里面数据没实例化,你没配置好oracle的数据连接。

①:都是注解形式,都可以用来依赖注入,都可以以配置在属性上的形式依赖一个Bean,也可以以Setter形式注入一个Bean.两者的注入形式都可以被javax.inject.Inject注解取代。

通用的方法来了,神器啊,前的 2两种方法并不通用,可以抛弃了。

这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的配置信息。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring如何实例化(spring实例化和初始化)
下一篇:docker创建(docker创建容器命令)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~