SSM: Spring框架+SpringMVC框架+Maven高级+SpringBoot框架+MyBatis-Plus框架
目录
2. 提供settler方法编辑3. 配置文件中加入依赖注入
作用范围默认为:singleton,也就是说无论创建几个,其指向的bean就是一个,获取其地址也是一样的
注意事项2:当有多个properties配置文件需要被加载,该如何配置?
一. 核心概念
1.1. IOC,DI,IOC容器,Bean
1. 相当于自己不用创建对象,由Ioc容器创建对象,并且对对象进行初始化
2. 接口无法直接创建对象,但是实现了接口的类可以创建对象,我们实现了某一个接口,就相当于创建了这个接口的一个子类,接口就是这个类的父类
3. loc可以简单理解为将对象交给loc容器进行管理,有它来控制来删除等操作;
依赖注入就是不通过 new 的方式在类内部创建依赖类的对象,而是将依赖的类对象在外部创建好之后,通过构造函数、函数参数等方式传递(或注入)给类来使用
1. 原先是这样:
用了IOC后:
理解:
原先需要new对象,当有了IOC后就不需要new对象,而是由IoC容器直接给我们创建对象,并进行初始化,同样的在BookServiceImp1类中我们有创建对象service,但是service运行save依赖dao这个对象,因为依赖关系,而这两个对象又恰巧在IoC容器中,因此直接给你依赖注入,就可以不报错了。
理解依赖注入:
1. 需要在bookservice中创建一个BookDao对象但是不需要new。
2. 因为运行save()依赖bookDao对象 的bookDao.save()因此需要依赖注入
二.案例(IOC,DI)
1. IOC入门案例
1. 创建maven项目
2. pom.xml文件中添加spring坐标
3. 添加类
4. resources下添加spring配置文件
5. 在配置文件中完成bean的配置(id,class)
6. 获取IOC容器
7.调用对象方法
2. DI入门案例
1. 去除代码中的new
2. 提供settler方法3. 配置文件中加入依赖注入
三:IOC相关配置
1. bean配置
1.1. 别名(id后面加name)
1.2. 作用范围
作用范围默认为:singleton,也就是说无论创建几个,其指向的bean就是一个,获取其地址也是一样的
prototype相反,创建一个就会生成一个全新的bean
1.3. 小结
2. bean实例化
2.1. 构造方法
提供一个无参构造即可(或者不写,为默认的),但是有参构造不行
2.2. 静态工厂
2.3. 实例工厂实例化
2.4. FactoryBean的使用(*)
注意:
1.要对方法进行实现,因为是抽象类,factorybean后面要什么就写什么
2. 第二个方法就是返回class类对象即可
3.如果重写第三个方法,改成true就是非单例
3. bean的生命周期
4. 关闭容器
要放在末尾,直接关闭容器
5. 接口实现生命周期的控制(*)
6. 小结
四. DI相关内容
1. setter注入方式
1.1. 注入引用数据类型
1.2. 注入简单数据类型
2. 构造器注入
2.2. 构造器注入多个引用数据类型
2.3. 构造器注入多个简单数据类型
五.自动配置
1. 完成自动装配配置
2. 集合注入
六.IOC/DI配置管理第三方bean
1. 实现Druid管理
1.1.导入druid的依
pom.xml中添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
1.2.配置第三方bean
1.3. 从IOC容器中获取对应的bean对象
2.实现C3P0管理
2.1. 导入C3P0的依赖
对于新的技术,不知道具体的坐标该如何查找? 直接百度搜索 从mvn的仓库https://mvnrepository.com/ 中进行搜索
2.2. 配置第三方bean
3.加载properties文件
3.1. 准备properties配置文件
3.2. 开启context命名空间
如何开启context命名空间:
1. 将原先的xmln这段复制下来:xmlns="http://www.springframework.org/schema/beans
修改成xmlns:context="http://www.springframework.org/schema/context
2. 将shemalocation后面的两句复制下来:
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
将所有beans修改为context
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
3.3 加载properties配置文件
3.4.步骤4:完成属性注入
4. 读取单个属性
4.1. 在项目中添对应的类
4.2.完成配置文件的读取与注入
4.3. 运行
注意事项1:系统变量优先
解决方案:
注意事项2:当有多个properties配置文件需要被加载,该如何配置?
5. 小结
七:核心容器
1. 容器的创建方式
2. Bean的三种获取方式
3. BeanFactory的使用(延迟加载)
4. 小结
八:IOC/DI注解开发
1. 注解开发定义bean
2. 纯注解开发模式
2.1. 创建配置类
2.2 标识该类为配置
2.3. :用注解替换包扫描配置
2.4. 创建运行类并执行
3. 注解开发bean作用范围与生命周期管理
#### Bean的生命周期
4. 注解开发依赖注入
4.1. Autowired
4.2.按照名称注入
4.3.简单数据类型注入
4.4. 注解读取properties配置文件
九:IOC/DI注解开发管理第三方bean
1.
2.引入外部配置类(详细配置放别的文件)
3.注解开发实现为第三方bean注入资源
3.1. 简单数据类型
3.2.注入引用数据类型
4. 总结
十:Spring整合
1. Spring整合Mybatis思路分析
2. 步骤
@Configuration:告诉它我这是配置类
@ComponentScan
@Bean注解的作用是将方法的返回值制作为Spring管理的一个bean对象
步骤5:创建这个bean工厂,用于生成bean
汇总:
1. @Component(name) ——定义bean(类上加)
2. @Configuration——标记配置类
3. @ConponentScan(地址)
扫描相应的注解,告诉给配置文件
4. Autowired ——依赖注入
5. Qualifier()——按照名称依赖注入
6. @Value(内容)——简单数据类型依赖注入
7.@PropertySource——读取文件并且用${value}取值
8. import
简化主配置类中的内容,SpringConfig中只写import,具体配置写到其他文件