springIoC原理相关学习
1.springIoC:
是指在一个对象在使用另一个对象的功能时,也就是一个对象对另一个对象产生依赖时,依赖对象的创建不是由当前对象生产,而是由spring容器生产,然后进行DI,也就是说控制创建和生产依赖对象权力进行了反转,这就是控制反转2.Ioc和DI
DI依赖注入其实和IoC表达了不同层面同样的意思,IoC表达的是依赖对象的创建不是由自己生产,而是由spring容器生产,DI表达的是依赖对象是由IoC容器进行的注入,都表达了对象之间的依赖配置关系是由容器所控制)
3.IoC和JNDI与new一个对象是完全相反的:
JNDI和new一个对象是由一个对象主动去生产另一个对象来使用,对象与对象直接的耦合关系还是存在,而IoC是由spring容器进行对象的创建与装配,所以对象与对象之间的耦合关系减小,这些对象之间的装配都是由spring容器自动完成,所以不是一个对象生产另一个对象,而是一个对象使用另一个对象
JNDI和new一个对象相比较,是可以通过修改配置文件而改变对象的属性值或者改变对象的实现,不用改变具体代码,但是依然需要一个对象主动去生产所需要的对象
IoC和JNDI相比较,是IoC可以通过使用spring容器直接生产对象以及进行注入,对象的生产不是在另一个对象中,而是都在容器中,最后按照需要进行注入
比如我可以通过一个类的方法名的字符串去当做参数:
JNDI和new一个对象相比较,是可以通过修改配置文件而改变对象的属性值或者改变对象的实现,不用改变具体代码,但是依然需要一个对象主动去生产所需要的对象
IoC和JNDI相比较,是IoC可以通过使用spring容器直接生产对象以及进行注入,对象的生产不是在另一个对象中,而是都在容器中,最后按照需要进行注入
4.spring中bean的生产:
spring容器之中的bean是由Java反射机制生产的,通过获取配置文件中的配置信息,JVM可以对相关.class文件进行加载,然后产生一个特定类的Class对象(所有这个类的对象使用同一个Class对象),然后通过使用Class对象的getConstructor或getMethod等方法获取类的构造方法和其他方法,然后可以进行实例化最后就可以生产bean,并且进行bean的装配5.Java反射机制(spring使用反射进行bean创建):
spring中通过读取配置文件信息使用java反射机制进行bean的创建
java反射机制简要来说就是把
一个类的内容给参数化
比如我可以通过一个类的方法名的字符串去当做参数:
Method method = getMethod("方法名",参数...)
method.invoke(参数...)