加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SpringBoot在普通类中注入Bean

(2019-03-26 09:22:55)
标签:

springboot在普通类中

注入bean

分类: 软件

一:Spring Boot在普通类中注入Bean

1:Controller Service 等中,直接@ Autowired注入bean就好。

但在普通类中这样注入会提示null。对于此类的bean的注入,可以implements ApplicationContextAware

如下面:调用方式为:UserService userservice = (UserService) SpringContextUtils.getBean(UserService.class);

import org.springframework.beans.BeansException;

import org.springframework.context.ApplicationContext;

import org.springframework.context.ApplicationContextAware;

import org.springframework.stereotype.Component;

 

@Component

public class SpringContextUtils implements ApplicationContextAware {

 

   

    private static ApplicationContext applicationContext;

 

    @Override

    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {

        this.applicationContext = applicationContext;

    }

 

   

    public static ApplicationContext getApplicationContext() {

        return applicationContext;

    }

 

   

    public static Object getBean(String name) {

        return getApplicationContext().getBean(name);

    }

 

   

    public static T getBean(Class clazz) {

        return getApplicationContext().getBean(clazz);

    }

 

   

    public static T getBean(String name, Class clazz) {

        return getApplicationContext().getBean(name, clazz);

    }

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有