日期:2014-05-17  浏览次数:20670 次

spring中的autowire和new一个对象的区别
spring中的autowire和new一个对象的区别
如:

@autowire
private AAA aaa ;

private AAA aaa = new AAA();
的区别

请高手指教。

------最佳解决方案--------------------
区别大了,Autowire相当于由spring负责依赖注入,而你的new是直接new一个对象。
spring注入的对象和你new的对象,你说有区别吗?并且,还包括其它信息,如事务,依赖注入等。

详细可见此文章:
http://www.iflym.com/index.php/code/201211070001.html
------其他解决方案--------------------
是啊,注入的bean可以直接使用,调用bean的方法,

new出来的,基本上不能用,用了也是一堆异常!
------其他解决方案--------------------
这就是依赖注入的好处,不需要new对象,到时候直接引用就好了,效果一样的
------其他解决方案--------------------
@autowire跟XML方式注入类似,是Ioc容器负责创建新的实例,实例里可以有其他的依赖关系并也由springIoc容器负责注入,如果只是简单的new一个对象的话,新对象里面的所有变量依赖都是没有注入的,这样就失去了Ioc的意义。
------其他解决方案--------------------
spring 创建对象默认是单例模式,一般自己要手动对对象配作用域scope