使用SSM时的对象管理问题

来源:互联网 发布:淘宝网tfboys同款书包 编辑:程序博客网 时间:2024/06/09 18:42

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

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

      

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

      

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

      经过实践证明,是取不到Dao层的对象的!原因是在容器启动的时候,spring会去扫描注解,然后通过反射注入,把对象注入进去,所以在spring容器中的所以对象都是已经实例化好的了。所以,必须要去容器中取,才能取到注入好的对象。而通过new方式创建的对象,相当于创建了多一个对象的实例,所以通过@Resource的方式注入不了对象。这个是个人实践的观点,不信者可亲自试下。

原创粉丝点击