@Component注解部分场景不生效问题
1.出现问题的原因:@Component这个注解把该类注入到spring容器中了,但是在拦截器之中不生效,再在Utils使用到dao,我们就不能直接注入了解决方案:使用ApplicationContextAware解决问题。而ApplicationContextAware实现了这个接口的bean,当spring容器初始化的时候,会自动的将ApplicationContext注入进来2 案例demo
·
1.出现问题的原因:@Component这个注解把该类注入到spring容器中了,但是在拦截器之中不生效,再在Utils使用到dao,我们就不能直接注入了
解决方案:使用ApplicationContextAware解决问题。而ApplicationContextAware实现了这个接口的bean,当spring容器初始化的时候,会自动的将ApplicationContext注入进来
2 案例demo
/**
* @author zhenglong
* @Description:解决部分@Component注解部分场景不生效问题
* @Date 2020/12/29 9:30
*/
@Component
public class ApplicationContentBean implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
/**
* @param beanName
* @return
*/
public static Object getBean(String beanName) {
return context.getBean(beanName);
}
}
3使用的时候不需要@Autowired或者@Resource之类的注解,只需要调用getBean方法就行
更多推荐
已为社区贡献2条内容
所有评论(0)