Spring5框架


1、Spring框架概述

1、Spring是轻量级的开源的 JavaEE框架

2、Spring可以解决企业应用开发的复杂性

3、Spring有两个核心部分:IOC 和 AOP
(1) IOC: 控制反转,把创建对象工程交给Spring进行管理

(2) Aop: 面向切面,不修改源代码进行功能增强

4、Spring特点
(1) 方便解耦,简化开发

(2) Aop编程支持

(3) 方便程序测试

(4) 方便和其他框架进行整合

(5) 方便进行事务操作

(5) 降低API开发难度

5、现在课程中,选取Spring版本5.x
### 入门案列
1、下载Spring5
(1) 使用Spring最新版本5.3.15
HwcHtU.png
(2)下载地址
https://repo.spring.io/ui/native/release/org/springframework/spring
2、打开idea工具 创建Java普通工程
3、导入Spring相关jar包
HwRMlQ.png
4、创建普通类,在这个类创建普通方法
public void add(){
System.out.println(“addd…..”);
}
5、创建Spring配置文件,在配置文件配置创建的对象

    <!--配置User对象创建-->
    <bean id="user" class="com.atwc.spring5.User"></bean>

(1) Spring配置文件使用xml格式
6、进行测试代码编写
@Test
public void test(){
//加载配置文件bean.xml
ApplicationContext context=new ClassPathXmlApplicationContext(“bean.xml”);
//获取配置文件创建的对象
User user = context.getBean(“user”, User.class);
System.out.println(user);
user.add();
}

2、IOC容器

IOC(概念和原理)
1、什么是IOC
(1) 控制反转, 把对象创建和对象之间的调用过程,交给Spring进行管理
(2) 使用IOC目的: 为了耦合度降低
(3) 做入门案列就是IOC实现

2、IOC底层原理
(1) xml解析、工厂模式、反射

3、画图讲解IOC
Hw4k38.png

IOC(接口)

1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2、Spring提供IOC容器实现两种方式:(两个接口)
(1)BeanFactory: IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用
加载配置文件时候不会创建对象,在获取对象或者使用对象的时候才会创建对象
(2)ApplicationContext: BeanFactory接口的子接口,提供更多强大的功能,一般由开发人员进行使用
加载配置文件时候就会把在配置文件对象进行创建
3、ApplicationContext接口实现类
Hw4x2T.png
1、什么是Bean管理
(0) Bean管理指的是两个操作
(1) Spring创建对象
(2) Spring注入属性
2、Bean管理操作由两种方式
(1) 基于xml配置文件方式实现
(2) 基于注解方式实现

IOC操作Bean管理(基于XMl方式)

1、基于xml方式创建对象
(1) 在Spring配置文件中,使用bean标签 标签里面添加对应属性,就可以实现对象创建
(2) 在bean标签有很多属性,介绍常用的属性
id属性:唯一标识
class属性: 类全路径(包类路径)
name属性: 可以加特殊符号
(3) 创建对象时候,默认也是执行无参数构造
2、基于xml方式注入属性
(1) DI:依赖注入,就是注入属性
3、第一种注入方式:使用set方法进行注入
(1) 创建类,定义属性和对应的set方法
public class Book {
private String bname;
private String bauthor;
public void setBname(String bname) {
this.bname = bname;
}
public void setBauthor(String bauthor) {
this.bauthor = bauthor;
}

@Override
public String toString() {
    return "Book{" +
            "bname='" + bname + '\'' +
            ", bauthor='" + bauthor + '\'' +
            '}';
}

}
(2) 在Spring配置文件配置对象创建,配置属性注入

bean id=”book” class=”com.atwc.spring5.Book”

property name=”bname” value=”卧槽”property
property name=”bauthor” value=”我操”property
bean
4、第二种注入方式: 使用有参数构造进行注入
(1) 创建类,定义属性 创建有参构造方法
public class Orders {
private String oname;
private String ovalue;
public Orders(String oname,String ovalue){
this.oname=oname;
this.ovalue=ovalue;
}
@Override
public String toString() {
return “Orders{“ +
“oname=’” + oname + ‘'‘ +
“, ovalue=’” + ovalue + ‘'‘ +
‘}’;
}
}
(2) 在Spring配置文件中 进行配置
bean id=”order” class=”com.atwc.spring5.Orders”>
constructor-arg name=”oname” value=”1”>constructor-arg
constructor-arg name=”ovalue” value=”2”>constructor-arg
bean
5、p名称空间注入
(1) 使用p名称空间注入,可以简化基于xml配置方式
第一步 添加p名称空间在配置文件中
第二部 进行属性注入,在bean标签里面进行操作

IOC操作Bean管理(xml注入其他类型属性)

1、字面量
(1) null值
用null标签
(2) 属性值包含特殊符号
![CDATA[<<值>>]]
2、注入属性-外部bean
(1) 创建两个类 service类和dao类
(2) 在service调用dao里面的方法
(3) 在spring配置文件中进行配置
3、注入属性-内部bean和级联赋值
(1) 一对多关系:部门和员工
一个部门有多个员工,一个员工属于一个部门
部门是一,员工是多
(2) 在实体类之间表示一对多关系
4、注入属性-级联赋值

IOC操作Bean管理(xml注入集合属性)

1、注入数组类型属性

2、注入List集合类型属性

3、注入Map集合类型属性
(1) 创建类,定义数组,list,map,set类型属性 生成对应set方法
(2) 在spring配置文件进行配置
4、在集合里面设置对象类型值
property name=”list”
list
ref bean=”course1”>ref
ref bean=”course2”>ref
list
property
5、把集合注入部分提取出来

IOC操作Bean管理(FactoryBean)

1、Spring有两种类型bean,一种普通bean,另外一种工厂bean(FactoryBean)

2、普通Bean: 在配置文件中定义bean类型就是返回类型

3、工厂bean: 在配置文件定义bean类型可以和返回类型不一样
第一步 创建类,让这个类作为工厂bean,实现接口FactoryBean
第二步 实现接口里面的方法,在实现的方法中定义返回的bean类型

IOC操作Bean管理(Bean作用域)

1、在Spring里面,设置创建bean实列是单实例还是多实列
2、在Spring里面,默认情况下,bean是单实例对象
设置单多实列scope: singleton 单实例 prototype 多实列

IOC操作Bean管理(Bean生命周期)


文章作者: YueYue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 YueYue !
  目录