普通java类获取 spring中的bean方法
程序员文章站
2022-05-23 10:06:24
...
编写一个工具类
实现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配置而仅仅使用注解貌似是不成功的
有问题留言哦
转载于:https://my.oschina.net/icoding/blog/632576
推荐阅读
-
Java 反射获取类详细信息的常用方法总结
-
Spring中如何获取request的方法汇总及其线程安全性分析
-
Spring在代码中获取bean的几种方式详解
-
Java中数组操作 java.util.Arrays 类常用方法的使用
-
【Java必修课】通过Value获取Map中的键值Key的四种方法
-
java通过HttpServletRequest获取post请求中的body内容的方法
-
普通对象使用spring容器中的对象的实现方法
-
JSP中如何通过JSP调用类(.java)中的方法
-
FastJson序列化自定义返回字段,普通类从spring容器中获取bean
-
java基础 静态 static 问在多态中,子类静态方法覆盖父类静态方法时,父类引用调用的是哪个方法?