@Component
public class SpringAware implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContextt) throws BeansException {
applicationContext = applicationContextt;
}
}
sonar安全扫描会报:
Make the enclosing method “static” or remove this set.Why is this an issue?
修改成以下方式就可以了:
@Component
public class SpringAware implements ApplicationContextAware {
@Setter
private static ApplicationContext applicationContext1;
@Override
public void setApplicationContext(ApplicationContext applicationContextt) throws BeansException {
synchronized (SpringAware.class) {
if (applicationContext1 == null) {
setApplicationContext1(applicationContextt);
}
}
}
}