@Autowired
private DataTraceRepository dataTraceRepository; //自动注入引用类
private static DataTraceRepository dataTraceRepositoryStatic; // 创建静态引用类
@PostConstruct
public void init() {
// 构造完成之后将自动注入的引用类实例赋值给静态应用类
dataTraceRepositoryStatic = this.dataTraceRepository;
}
/**
* 根据实体id查询实体的数据追溯
* @param entityId 实体Id
*/
public static List<DataTrace> count(Integer entityId) {
// 这里就这么调用
return dataTraceRepositoryStatic.findAllByEntityId(entityId);
}
}
这个方法能够使用在于应用类和被引用类都在spring的bean容器中,应用类在调用静态方法时也是采用的实例进行的调用。而当使用类名加静态方法的方式调用,这个方式就无法生效了。
[]( )在static方法内部引入JavaBean对象
------------------------------------------------------------------------------------
### []( )引入JavaBean对象的一般方式(三种)
1. Autowired自动注入的方式
2. 构造方法注入的方式
3. 使用ApplicationContext 获取Bean的方式
前两种方式都是在类的层面上进行获取,后一种方式可以在方法中调用。
### []( )获取ApplicationContext对象的方式
要想获取Bean还要先获取Applicatio