util工具类使用注解
使用@Component注解
@Component
public class LogQueryUtils {
}
注入service
此时使用 @Autowired注解引入的service为非静态变量,无法在静态方法中使用
@Component
public class LogQueryUtils {
@Autowired
private EhcacheService ehcacheService;
}
初始化静态service
使用@PostConstruct, 在工具类初始化完成后调用setDataSource()方法,为静态service变量赋值
@Component
public class LogQueryUtils {
@Autowired
private EhcacheService ehcacheService;
private static EhcacheService service;
@PostConstruct
public void init(){
if(service == null){
setDataSource(ehcacheService);
}
}
private synchronized static void setDataSource(EhcacheService ehcacheService) {
service = ehcacheService;
}
}
使用
在静态方法中就可以直接使用service进行方法调用了
public static void test() {
Map<String,String> serviceCodeMap = service.loadServiceCodeMap();
//your code
}