Spring环境搭建、SpringIOC容器基础、SpringDI基础
一、SpringIOC核心思想
- IOC控制反转
- DI依赖注入
作用:将所有JavaBean注入Spring容器中,进行==”解耦“==管理,在Spring中,万物皆为JavaBean
二、搭建Spring环境步骤
- 使用maven,在pom.xml文件中添加Spring坐标,即添加Spring依赖
- 在resource文件中新建配置文件,即Spring框架的主配置文件
- Spring的主配置文件就相当于 SpringIOC 容器 ,其中管理这所有的 JavaBean
三、SpringIOC容器使用步骤
- 创建 JavaBean ,即类或其他数据
- 将类注入SpringIOC容器,即将创建的 JavaBean 设置到IOC容器中
// 配置语法:<bean id="唯一标识" class="类的完全限定名称,就是需要将哪个类加到IOC容器中"></bean>
3、加载 Spring 主配置文件(SpringIOC容器)获取核心对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
ApplicationContext applicationContext = new FileSystemXmlApplicationContext()
ApplicationContext applicationContext = new AnnotationConfigApplicationContext()
说明:
关键字:
BeanFactory(父接口)
ApplicationContext(子接口)
- ClassPathXmlApplicationContext == 通过文件的相对路径获取核心对象(实现类)
- FileSystemXmlApplicationContext == 通过文件的绝对路径获取核心对象(实现类)
- AnnotationConfigApplicationContext == 通过加载配置类获取核心对象(实现类)
4、让 Spring 以解耦的方式实例化对象并返回用户
四、SpringIOC 总结
- 使用 SpringIOC 的主要思想就是为了解耦合,就是管理项目组件之间的耦合关系
- IOC 的含义就是控制反转,即将创建对象的控制权转移给 Spring框架进行管理,反转的含义就是,原本创建对象的权利应该是属于具体的类,而现在创建对象的权利交给了IOC容器
五、SpringDI(依赖注入)
1、基本概念
根本目的也是为了解耦合
就是通过依赖注入,将传递的值或对象,通过 SpringDI 注入到指定位置
2、实现方式
先思考需要使用哪种注入方式更加合适
(1)set 注入
通过 set 方法维护对象之间的依赖关系
在 bean 标签内部开始配置
-
配置位置:此位置
-
配置语法:使用****标签
-
配置属性:
-
name -------->属性名称 (set 方法中对应的参数名称)
-
value -------->属性值
-
ref -------->属性值的引用(也就是需要关联的哪个对象)
-
<bean id="student" class="com.apesource.pojo.Student">
<property name="stuname" value="111"></property>
<property name="stuage" value="12"></property>
<property name="stuhobby" value="money"></property>
</bean>
(2)构造注入
通过构造方法维护对象之间的依赖关系
-
配置位置:此位置
-
配置语法:<constructor-arg 属性名=“属性值”>
-
配置属性:
-
name-------->构造方法参数名称
-
index-------->构造方法参数下标
-
type-------->构造方法参数类型
-
value-------->属性值
-
ref-------->属性值的引用(也就是需要关联的哪个对象)文章来源:https://www.toymoban.com/news/detail-662911.html
-
<bean id="student" class="com.apesource.pojo.Student">
<constructor-arg name="name" value="111"></constructor-arg>
<constructor-arg name="age" value="21"></constructor-arg>
</bean>
(3)属性注入
(不推荐使用)文章来源地址https://www.toymoban.com/news/detail-662911.html
3、允许注入的数据类型
- 注入对象
- 注入基本数据类型以及String
- 注入复杂类型List Set array Map propertoes
4、注入的实现方式
- 下面用set注入演示复杂类型的注入
<!-- =============================注入复杂类型===================================== -->
<bean id="teacher" class="com.apesource.pojo.Teacher">
<property name="mylist">
<list>
<value>11</value>
<value>22</value>
<value>33</value>
</list>
</property>
<property name="myset">
<set>
<value>444</value>
<value>555</value>
<value>666</value>
</set>
</property>
<property name="mymap">
<map>
<entry key="花和尚" value="鲁智深"></entry>
<entry key="豹子头" value="林冲"></entry>
<entry key="两年半" value="蔡徐坤"></entry>
<entry key="玉麒麟" value="卢俊义"></entry>
<entry key="及时雨" value="宋江"></entry>
</map>
</property>
<property name="myarray">
<array>
<value>777</value>
<value>888</value>
<value>999</value>
</array>
</property>
<property name="prop">
<props>
<prop key="1+1">2</prop>
<prop key="2+2">4</prop>
<prop key="4+4">8</prop>
</props>
</property>
</bean>
到了这里,关于Spring环境搭建、SpringIOC容器基础、SpringDI基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!