Spring基础-如何获取ApplicationContext

第一种方法:

使用@Autowired方法来获取

举个栗子

public class User {


    @Autowired
    //@Resource
    //@Inject
    private ApplicationContext applicationContext;

    public void show() {
        System.out.println("applicationContext = " + applicationContext.getClass());
    }
}

这三个注解都可以,注意第三个注解要引入jar包.

第二种方式:

实现ApplicationContextAware接口

@Component
public class Book implements ApplicationContextAware {

    private ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
    }

    public void show() {
        System.out.println("applicationContext = " + applicationContext.getClass());
    }
}

第三种方式

使用构造器,在构造器里传入

 
 
/**
* spring4.3新特性
* 1.构造函数只能有一个.
* 2.构造器参数必须在spring容器中.
*/

@Component
public class Bank { private ApplicationContext applicationContext; public Bank(ApplicationContext applicationContext) { this.applicationContext = applicationContext; } public void show() { System.out.println("applicationContext = " + applicationContext.getClass()); } }

有一定局限性

构造函数不能为空,

猜你喜欢

转载自www.cnblogs.com/songfahzun/p/9236183.html
今日推荐