Mryqu's Notes


  • 首页

  • 搜索
close

[Spring Boot] 让非Spring管理的类获得一个Bean

时间: 2015-12-04   |   分类: Service+JavaEE   Spring     |   阅读: 62 字 ~1分钟

我有一个工具类,它既会被SpringBean调用,也会被非Spring管理的类调用。我想在这个工具类里获得Spring注入了拦截器的RestTemplate。一开始考虑了ApplicationContextAware、ContextLoaderListener和ContextLoaderServlet,最后采用了下面这种改动最小的解决方案。

示例代码

Application.java

@SpringBootApplication
public class Application{

  public static void main(String[] args) {
    final ApplicationContext applicationContext = 
                     SpringApplication.run(Application.class, args);
    MyUtil.setApplicationContext(applicationContext);
  }
  
  @Bean
  public RestTemplate restTemplate() { 
    return new RestTemplate(); 
  }
}

MyUtil.java

public class MyUtil {
  private static ApplicationContext applicationContext;

  public static void setApplicationContext(ApplicationContext context) {
    applicationContext = context;
  }
  
   public static void doSomething() {
    RestTemplate _restTemplate = applicationContext.getBean(RestTemplate.class);
    ........
  } 
}

标题:[Spring Boot] 让非Spring管理的类获得一个Bean
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#spring# #boot# #get# #bean#
[MapR培训笔记] Hadoop生态系统
[Spring Boot] Use alwaysUseFullPath for Spring MVC URL mapping
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • 示例代码
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%