1.spring 官网(https://spring.io)
Data Access:数据访问
Data Integration:数据集成
web:web开发
Aop:面向切面编程
Aspects:Aop思想实现
Core Container:核心容器
Test:单元测试与集成测试
Spring FrameWork学习路线
第一部分:核心容器
核心概念(IoC/DI)
第二部分
整合数据层技术MyBatis
第三部分:AOP
核心概念 Aop基础操作
第四部分:事物
事物实用开发
第五部分:家族
SpringMVC
SpringBoot
SpringCloud
IOC(Inversion of Control)控制反转
实用对象时,由主动new产生对象转换为由外部提供对象,此过程中创建控制权由程序转移到外部,此思想为控制反转
Spring技术对IOC思想进行了实现
Spring提供了一个容器,称为IOC容器,,用来充当IOC思想中的"外部"
DI(Dependency Injection)依赖注入
在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入
核心概念:
目标:充分解耦
使用IOC容器管理bean(IOC)
在IOC容器内将有依赖关系的bean进行关系绑定(DI)
最终效果
使用对象时不仅可以直接从IOC容器中获取,并且获取到的bean已经绑定了所有的依赖关系
导入spring配置文件
配置bean文件名字为applicationContext.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">
<bean id="bookDao" class="com.it.dao.impl.BookDaoImpl"></bean>
</beans>
获取IoC容器
ApplicationContext ctx = new ClassPathXmlApplicationContext("配置文件路径");
获取bean
getBean("配置id")
bean标签
package com.ico;
import com.ico.service.impl.BookServiceImpl;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App2 {
public static void main(String[] args) {
ClassPathXmlApplicationContext cac = new ClassPathXmlApplicationContext("applicationContext.xml");
BookServiceImpl bookService = (BookServiceImpl) cac.getBean("bookDao");
bookService.save();
}
}
id: 属性表示bean起名字
class: 属性表示给bean定义类型,即配置的bean的全路径类名
name: 定义别名 多个别名可以使用逗号(,)分号(;)空格( )分隔
scope:定义作用范围 singleton:单列(默认) prototype:非单列
property标签表示配置当前bean的属性
name:属性表示配置哪一个具体的属性
ref:属性表示参照哪一个bean
适合交给容器进行管理的bean
表现层对象 业务层对象 数据层对象 工具层对象
不适合交个容器进行管理的bean
封装实体的域对象