文章目录
在企业级系统大规模:
用户数量大
数据规模大
功能众多
性能和安全的要求高
业务复杂
灵活应变
String 轻量级框架 Spring(春天)Java EE的春天
目标:使用先用的技术更加的医用,推进编码的最佳实现
内容:IOC 容器 AOP实现 数据访问支持 简化JDBC/ORM框架 声明式事务 WEB集成
什么Spring?
Spring是一个开源框架,Spring是于 2003年兴起的一个轻量级的Java开发框架,为了解决企业级开发的复杂性而创建的。
Spring设计理念 是面向Bean的编程
Spring 有两个核心技术:控制反转(IOC : Inversion of Control)/依赖注入(DI :Dependency Injection) 面向切面编程:(AOP: Aspect Oriented Programming)
Spring的优点:
低侵入式设计
独立于个大中应用服务器
依赖注入的特性将组件关系透明化 ,降低耦合度
面向切面编程的特性允许将通用的任务进行集中式处理
与第三方框架良好的整合
开源免费容器
控制反转(IOC DI依赖注入) 、面向页面编程(AOP)
对事物的支持(声明式事务)
方便解耦,简化开发(高内聚低耦合)
Spring框架是一个分层框架,包含了一系列的功能要素得分为大约20个模块
![1607140176198](Spring.assets/1607140176198.png)
控制反转(IOC)/依赖注入(DI)
将组件对象的控制权 从代码本身转移到外部容器组件化的思想:分离关注点,使用接口,不在关注实现
依赖注入:将组件的构建和使用分开
IOC容器:
Spring 容器是Spring的框架核心,容器创建对象,把它们连接在一起,配置他们,管理他们的整个生命周期(从创建到销毁)
Spring容器使用依赖注入(DI)来管理组成一个应用程序的组件这些对象被称为(Spring Beans)
总结(面试):控制反转创建对象(Bean),依赖注入管理这些Bean对象。核心容器提供Spring框架的基本功能,核心容器主要组件是BeanFactory,他是工厂模式的实现BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性与实际的应用程序代码分来
控制反转:依赖于容器给予资源,控制权坐落在容器身上,不主动new实例化对象,而需要那个对象,就向容器发请求,让容器帮我们创建一个对象出来。
依赖注入:所需要的对象,需要依赖容器注入,本质上IOC和DI是同一思想下的不同维度的表现
Spring 容器、控制反转、依赖注入的关系:假如用户要吃饭,需要一双筷子,用户向spring容器请求,容器创建筷子,再注入给用户。
案例练习
-
首先创建一个maven项目,先择webapp,pom.xml中导入spring需要的jar包
-
main下创建java目录、resources目录(放log4j配置文件),
-
resources下创建spring配置文件
-
java下的com.ScQ下创建实体层pojo,
-
当需要对象时,告诉spring,spring创建这个对象再注入给我们,因此将对象转换为Bean‘,通过DI注入到需要的的类中
-
main下创建一个包测试目录test,创建包com.ScQ,用于测试
-
testA中如何向spring容器要所需要的类bean:所有框架第一步先运行配置文件,spring通过上下文context来加载配置文件,通过配置文件获取一个指定id的bean,就是所需要的类
spring注入特殊字符
-
pojo下创建特殊字符类与get、set访问器
-
注入
-
测试:
spring注入对象
- 内部bean法
- 引用法
- 测试
spring注入集合
- 测试
spring注入数组
- 创建数组属性与get、set方法
- 注入
- 测试
spring注入set集合
spring注入map集合
- 测试
spring注入空值
spring注入配置文件格式内容
- 创建properties属性
- 注入