spring的注入和直接new一个对象有什么不同?

2024-11-28 10:59:58
推荐回答(4个)
回答(1):

一、意思不同

spring依赖注入,是指对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。

例如:

A对象需要引用B对象的话,可以在A的构造函数里面将B传递进去,或者调用A的某个set方法。

通俗一点就是spring已经new好了, 要用直接取拿。

二、顺序

new一个对象的时候,初始化顺序是:

父类静态块,子类静态块,父类属性(先系统默认值,后直接你赋予的值) ,父类构造器,子类属性,子类构造器。

三、要求

Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理,依赖注入通常有三种:

1、 set设值注入 

2、构造方法注入 

3、spring注解注入 

回答(2):

spring注入方便管理,依赖注入或者说是控制反转,说白了就是使用了配置文件,这种思想的唯一好处就是增加了模块的重用性灵活性。

一般配置文件里存的都是数据,键值之类的。Spring的配置文件把要引用类和要给类传的参数都放到配置文件里,这样比以前写死在程序里new一个对象更灵活,因此更具重用性。

回答(3):

spring实现了对象池,一些对象创建和使用完毕之后不会被销毁,放进对象池(某种集合)以备下次使用,下次再需要这个对象,不new,直接从池里出去来用。节省时间,节省cpu

回答(4):

依赖注入,是指对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。
注入有三种方式:构造函数传递,set方法设置,注解

举个例子:A对象需要引用B对象的话,可以在A的构造函数里面将B传递进去,或者调用A的某个set方法,或者用注解的方式(jdk1.5以上)
说到这里,你应该明白从功能角度来讲,依赖注入和new一个对象是没有可比性的