zoukankan      html  css  js  c++  java
  • 普通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配置而仅仅使用注解貌似是不成功的

    有问题留言哦

    82604119 java 菜鸟群 多多学习 一起进步
  • 相关阅读:
    医疗设备软件的安全性问答
    python使用技巧
    C++对象模型
    面向对象方法综述
    如何设计可扩展性系统架构
    敏捷过程
    python中import的相关知识总结
    软件架构的关键原则
    读后感——程序员的思维修炼
    LINUX系统备份工具
  • 原文地址:https://www.cnblogs.com/icoding/p/2994500.html
Copyright © 2011-2022 走看看