- 参考:黑马程序员最全SSM框架教程|Spring+SpringMVC+MyBatis全套教程(spring+springmvc+mybatis)_哔哩哔哩_bilibili
目录
Java Spring简介、配置文件及常用API
Spring是什么
Spring体系结构
Spring程序开发步骤
入门示例
Spring配置文件
Bean的依赖注入入门
引入其他配置文件(分模块开发)
Spring的重点配置总结
Spring相关API
ApplicationContext的继承体系
getBean()方法使用
- Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。
- 提供了展现层 SpringMVC 和持久层 Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技术 ,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架
- 实施步骤:
- ① 导入 Spring 开发的基本包坐标
- ② 编写 Dao 接口和实现类
- ③ 创建 Spring 核心配置文件
- ④ 在 Spring 配置文件中配置 UserDaoImpl
- ⑤ 使用 Spring 的 API 获得 Bean 实例
- 添加spring的坐标配置
<properties> <spring.version> 5.0.5.RELEASE </spring.version> </properties> <dependencies> <!--导入spring的context坐标,context依赖core、beans、expression--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> </dependencies>
- 创建一个save接口方法,并实现:
- 在源码目录下,创建一个spring的配置文件
- 在上面添加的资源文件,进行配置
- 测试:
- Bean标签基本配置
scope:指对象的作用范围,取值如下:
- Bean标签范围配置
- 两种常用范围的对比:
- Bean生命周期配置
- init-method:指定类中的初始化方法名称
- destroy-method:指定类中销毁方法名称
- Bean实例化三种方式
- 分析
- 解决方式:
- 依赖注入概念
- set方法注入
- 在UserServiceImpl中添加setUserDao方法
- 配置Spring容器调用set方法进行注入
- 另一种写法:
- 构造方法注入
- 配置Spring容器调用有参构造时进行注入
- Bean的依赖注入的数据类型
- 普通数据类型的注入
- 集合数据类型(List<String>)的注入
- 集合数据类型(List<User>)的注入
- 集合数据类型( Map<String,User> )的注入
- 集合数据类型(Properties)的注入
- applicationContext:接口类型,代表应用上下文,可以通过其实例获得 Spring 容器中的 Bean 对象
- ApplicationContext的实现类
- 其中,当参数的数据类型是字符串时,表示根据Bean的id从容器中获得Bean实例,返回是Object,需要强转。
- 当参数的数据类型是Class类型时,表示根据类型从容器中匹配Bean实例,当容器中相同类型的Bean有多个时, 则此方法会报错