前几天在做一个任务时,需要在一个普通的java类(不受Spring管理的类)中,调用 spring data jpa的某个xxxReponsitory 接口,同时需要读取properties 文件中的属性值,试了很多方法拿到的都是null,花了半个下午的时间才搞定,现在记录下解决方法。
这个问题网上大概有两个思路:
1. 将这个不受Spring管理的类交给Spring管理,然后就可以依赖注入 spring管理的对象了;
这个思路的方法对我的遇到的问题没有作用,在这里就不多说了,因为我这个类被调用的时候是new出来的。
**New出来的对象是不受spring管理的。**
2. 获取spring 的上下文对象,从而拿到spring管理的对象。
这里分为两个步骤 :
步骤一:获取 spring ApplicationsContext对象,以下几种方法都可行:
(1) 通过加载配置文件获取ApplicationContext对象
Spring中的几种容器都支持加载xml配置文件:
ApplicationContext context = new GenericXmlApplicationContext
("applicationContext.xml");
ApplicationContext context = new FileSystemXmlApplicationContext
("applicationContext.xml");
ApplicationContext contex