您的位置:首页 > 其它

使用SSM时的对象管理问题

2017-08-29 17:58 295 查看
       Spring是现在超级流行的框架,而且十分强大。但是总有奇葩的人,有人在使用spring的时候,没有去容器中取注册好的对象,而是通过new的方法去取。

      例如,在ReceiptListController中注入了ReceiptListService对象

      


      在ReceiptListService中注入了其他Dao层的对象

      


      那么如果在ReceiptListController通过new的方式去创建ReceiptListService对象,那么是否可以取到Dao层的实例对象呢?

      经过实践证明,是取不到Dao层的对象的!原因是在容器启动的时候,spring会去扫描注解,然后通过反射注入,把对象注入进去,所以在spring容器中的所以对象都是已经实例化好的了。所以,必须要去容器中取,才能取到注入好的对象。而通过new方式创建的对象,相当于创建了多一个对象的实例,所以通过@Resource的方式注入不了对象。这个是个人实践的观点,不信者可亲自试下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: