spring注入的autowired和value都没有效果

博客一:http://blog.csdn.net/sinat_32366329/article/details/78341231点击打开链接

博客二:http://blog.csdn.net/sinat_32366329/article/details/78339935点击打开链接

以上2篇博客是之前遇到value的值无法读取时候的文章说明。本篇介绍遇到的第三种情况为什么没效果。

往下看之前请先检查项目:

1.是否配置了开启注解扫描

2.是否配置了扫描对应的包

3.是否正确引入了配置文件

4.bean或者class文件是否已经使用了spring的注解,@controller,@service等注解标注

如果以上情况都确保了,就玩下看。

本次遇到的情况是对象已经托管给springIOC容器管理,而且在controller层通过@autowired注解注入的时候都是没有任何问题的,类的属性@value都是有值的,但是通过静态工厂方法获取的时候@value注解的属性就没有值了。

最终发现问题是什么呢?原来我的静态工厂方法中使用了new关键字来创建这个对象。new出来的对象是没有交给spring的ioc容器托管的,那么自然即使这个类里面有@value和@autowired注入的属性也是无法注入的。所有如果是这种情况请检查你这个对象是不是也是自己new出来的吧。

那么如果new出来的对象如何使用spring的ioc容器里面的其他对象呢?请看下面的博客

http://blog.csdn.net/sinat_32366329/article/details/79640446点击打开链接


展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读