spring
文章目录:
- 1.spring简介
- 2.IOC推导原型及本质
- 3.第一个spring程序
- 4.IOC创建对象的方式
- 5.spring配置说明
- 6.Dl依赖注入环境(依赖注入的方式)
- 7.bean的作用域
- 8.自动装配bean
- 9.用注解实现自动装配
- 10.spring使用注解开发
- 11.使用java的方式配置spring
- 12 代理模式
- 13 使用spring实现AOP
- 14.整合mybatis
- 15.Spring声明式事务
1.spring简介
- 简介
- 优点
- 组成
spring简介
之后要导入的一些maven依赖
spring的优点
spring组成
2.IOC推导原型及本质
- 推导原型
- 本质
推导原型
传统的分层模式架构
在业务层,主要调动dao层的接口实现,
测试类
IOC本质
3.第一个spring程序
1.导入依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
</dependencies>
2.创建实体类
package com.wash.pojo;
public class Hello {
private String str;
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
@Override
public String toString() {
return "Hello{" +
"str='" + str + '\'' +
'}';
}
}
3.注入bean对象
在resources文件夹下创建beans.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--使用spring来创建对象,在spring这些都称为Bean
类型 变量名=new 类型();
Hello hello=new Hello();
id=变量名
class:new对象
property:相当于给对象中的属性赋值
ref:引用spring容器中创建好的对象
value:具体的值,基本数据类型
-->
<bean id="hello" class="com.wash.pojo.Hello">
<property name="str" value="spring"/>
</bean>
</beans>
4.在测试类中获取bean对象
import com.wash.pojo.Hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Mytest {
public static void main(String[] args) {
//获取spring的上下文对象
ApplicationContext context =new ClassPathXmlApplicationContext("beans.xml");
//对象已经都在spring中管理了,若使用直接取出来就可以
Hello hello= (Hello) context.getBean("hello");
System.out.println(hello.toString());
}
}
之后我们就可以通过这种方式来改变,之前在service层的接口实现方法创建对象,现在直接配置xml文件即可
4.IOC创建对象的方式
1.使用无参构造创建对象,默认
2.使用有参构造创建对象
- 1.下标赋值
- 2.通过类型赋值
- 3.直接通过参数名来设置
注意:在配置文件加载的时候,spring容器中管理的对象就已经初始化了。
5.spring配置说明
- 别名:
- bean
- import
6.Dl依赖注入环境
依赖注入实际是Set注入
- 依赖:bean对象的创建依赖于容器
- 注入:bean对象中的所有属性,由容器来注入
第一种:普通值注入,value
<bean id="hello" class="com.wash.pojo.Hello">
<property name="str" value="spring"/>
</bean>
依赖注入的方式:
1.构造器注入:
- 无参构造
- 有参构造:
-下标
-类型
-参数名
2.Set方式注入[重点]
<bean id="a" class="com.wash.pojo.Hello1"/>
<bean id="hello" class="com.wash.pojo.Hello">
<!--第一种:普通值注入,value-->
<property name="str" value="spring"/>
<!--第二种:bean注入,ref-->
<property name="adderess" ref="a"/>
<!--第三种:数组注入,ref-->
<property name="books">
<array>
<value>红楼梦</value>
<value>西游记</value>
<value>三国</value>
</array>
</property>
<!--list-->
<property name="hobbys">
<list>
<value>听歌</value>
<value>敲代码</value>
</list>
</property>
<!--Map-->
<property name="card">
<map>
<entry key="身份证号" value="22134565432"/>
<entry key="银行卡" value="23455643121"/>
</map>
</property>
<property name="games">
<set>
<value>lol</value>
<value>cf</value>
</set>
</property>
<!--null-->
<property name="wife">
<null/>
</property>
<property name="info">
<props>
<prop key="学号">1706010122</prop>
<prop key="性别">男</prop>
<prop key=