普通java类获取 spring中的bean方法

原文地址为: 普通java类获取 spring中的bean方法

编写一个工具类

 实现spring 的ApplicationContextAware接口

代码如下:

 1 package com.xnh.web.utils;
 2 
 3 import org.springframework.beans.BeansException;
 4 import org.springframework.context.ApplicationContext;
 5 import org.springframework.context.ApplicationContextAware;
 6 /**
 7  * 
 8  * @author Kylin
 9  *
10  */
11 public class ApplicationUtil implements ApplicationContextAware{
12     private static ApplicationContext applicationContext;  
13     @Override
14     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
15         ApplicationUtil.applicationContext = applicationContext;
16     }
17     public static Object getBean(String name){
18         return applicationContext.getBean(name);
19     }
20 }

然后需要在application中把把org.springframework.context.ApplicationContext作为属性注入给类

其实只需要这样写就可以如下:

1 <bean id="app" class="com.xnh.web.utils.ApplicationUtil">
2 </bean>

这样子就是被注入进去了

运行的时候只需要加载你的applicationContext.xml

*普通java类main方法这样调用

new ClassPathXmlApplicationContext("applicationContext.xml");

ApplicationUtil.getBean("rssService");

*web工程直接调用

ApplicationUtil.getBean("rssService");

 

就大功告成了,如果按我的方法不成功,请看看是不是没有加载applicationContext.xml,或者你想getbean的方法没有在xml里面配置

据我测试没有在xml配置而仅仅使用注解貌似是不成功的

有问题留言哦

 


转载请注明本文地址: 普通java类获取 spring中的bean方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值