如果在xml中,按着Ctrl点不进权限定路径需要导入插件
最新版本的连接: https://download.springsource.com/release/TOOLS/update/e4.12/
具体
1概念:
IOC: Inversion of Control
AOP:Aspect Oriented Programming
2 Spring不同版本间的差异
Spring4新特性:删除了废弃的包和方法,支持部分JDK8新特性,支持JavaEE7
Spring5性特性:JDK基线更新至JDK8修订核心框架部分功能支持Kotlin语言响应式编程模型
支持Junit5
IoC和DI
IoC:控制反转,是一个概念,是一种思想,并不是一种具体的技术
控制反转:
控制反转(IoC,Inversion of Control),是一个概念,是一种思想。控制反转就
是对对象控制权的转移,从程序代码本身反转到了外部容器。把对象的创建、初始化、
销毁等工作交给spring容器来做。由spring容器控制对象的生命周期。
DI :依赖注入
依赖注入:Dependency Injection。依赖注入DI是指程序运行过程中,若需要调用另
一个对象协助时,无须在代码中创建被调用者,而是依赖于外部容器,由外部容器创
建后传递给程序。
依赖注入是目前最优秀的解耦方式。依赖注入让Spring的Bean之间以配置文件的方式
组织在一起,而不是以硬编码的方式耦合在一起的。
IoC和DI的关系:
IoC是一个概念,是一种思想,并不是一种具体的技术 ,而DI依赖注入 是对IoC的一个具体实现
创建Ioc程序
1,导入jar包(基本7个)
2,创建Spring配置文件
3. Bean的定义与注册
4. 从spring容器中获取Bean
ApplicationContext和BeanFactory的区别
ApplicationContext容器初始化时,所有的容器中bean创建完毕
BeanFactory当调用getBean获取相应对象时,才创建对象
Spring之IoC
基于XML的DI 所谓注入,可理解为对象的属性赋值
<property name="" value="" ></property>
简单数据类型和引用数据类型注入
集合属性注入(array、set、list、map、properties)
数组:
<property name = “设置数组属性的名字”>
<array>
<value>值1</value>
<value>值2</value>
<value>值3</value>
</array>
</property>
Set集合
<property name = “设置set结合属性的名字”>
<set>
<ref bean=”引入对象的id1” />
<ref bean=”引入对象的id1” />
</set>
</property>
List集合
<property name = “设置list集合的名字”>
<list>
<value>值1</value>
<value>值2</value>
<value>值3</value>
</list>
</property>
Map集合
<property name = “设置map集合的名字”>
<map>
<entry key = “” value =”” ></entry>
<entry key = “” value =”” ></entry>
</map>
</property>
Property
<property name = “设置map集合的名字”>
<props>
<props key = “” >值1</props>
<props key = “” >值2</props>
</props>
</property>
域属性自动注入(byName\byType;局部和全局配置)
ByName方式域属性自动注入 在bean标签里添加
Autowire = “byName”
要求注入的bead的id必须和被注入bean对象的
属性保持一致
byType方式域属性自动注入
Spring配置文件中查询与属性类型一致的bean并进行注入
空字符串或null的注入
空字符串:<property name="name"><value/></property>
null的注入:<property name="name"><null/></property>
构造注入方式