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 菜鸟群 多多学习 一起进步
  • 相关阅读:
    linux系统缓存机制
    信号“未决”与“阻塞”
    异步I/O
    Unix下五种IO模型
    【设计模式
    【设计模式
    【设计模式
    【设计模式
    【设计模式
    【设计模式
  • 原文地址:https://www.cnblogs.com/icoding/p/2994500.html
Copyright © 2011-2022 走看看