1、Spring 框架的基本理解
- 关键字:核心思想 IOC\AOP
- 作用:解耦,简化
- Spring框架是一款轻量级的开发框架,核心思想是IOC(控制反转) 和AOP(面向切面编程),为java应用程序开发提供组件管理服,用于组件之间的解耦,以及简化第三方javaee中间件技术的使用(JMS,任务调度,缓存,ORM框架),是一个基础架构型的开发框架
- Spring框架包括:IOC容器,Validation数据校验,AOP面向切面编程,Transactions事务管理,Spring JDBC,Spring MVC 框架,以及各类第三方JavaEE中间件技术集成
2、Spring 框架由哪些模块组成
1.Core :核心模块
包括:Ioc container(loc容器),Events(事件通知机制),Resources(资源加载机制)(数据绑定),Type Conversioi18n(国际化),Validation(数据校验),Data Bindingn(类型转换),SpEL(Spring表达式),AOP(面向切面编程)
2.Testing:测试模块
包括:Mock objects(测试模拟对象),Testcontext Framework(测试框架),Spring MVcTest(用于测试SpringMvc),WebTestclient(用于测试 Webclient、Restful、 webf.ux 等);
3.Data Access:数据访问模块
包括:Transactions(事务管理),DA0 support(统一的 Data Access obiect DA0 模式E封装),JDBc(Spring对于JDBC的操作封装),0/RMapping(spring对于对象关系映射框架的封装,例如 Hibernate 等框架)等;
4.Web Servlet:基于Servlet的Web应用开发
包括:Spring Mvc(Spring基于 MVC模式设计封装的 web框架),webSocket(spring集成 webSocket,webSocket 是一个服务器与客户端双向通信的技术)等
5.Integration:企业级系统集成模块(不同系统之间的交互集成)
包括: Remoting(Spring 用于在分布式系统中进行远程服务调用的通讯框架),JMS(Spring集成各类Java消息中间件、Java消息服务[Java Message Service],例如ActiveMQ等),Java Email(邮件发送),Tasks Scheduling(任务调度);
3、Spring IOC的理解
关键字: IOC 名词解释,作用是解耦,使用 IOC 容器管理项目组件之间的耦合关系
IOC(Inversion of control,中文释义:控制反转)是 spring 框架的核心思想之一,主要用于解耦。 IOC 是指将创建对象的控制权转移给 Spring 框架进行管理。由 spring 框架根据配置文件或注解等方式,创建 bean 对象并管理各个 bean 对象之间的依赖关系。使对象之间形成松散耜合的关系,实现解耦;。
控制:指的是对象创建(实例化、管理)的权力反转:控制权交给外部环境(Spring框架、 IoC 容器)
4、Spring IOC容器的理解
关键字: IOS容器的作用,存储形式,初始化过程
IOC 通常被理解为 I0c container 容器,IOC 容器其实就是一个 Map,key 是每个 bean 象的 ID,value是 bean 对象本身。 IOC、容器负责创建 bean 对象并管理 bean 的生命周期。并且根据配置好配置文件或注解,管理 IOC 容器中的每个 bean,以及根据 bean 之间的依赖关系,完成 bean 之间的注入。
IOC容器属于 Spring Core 模块,用来创建和管理Bean,默认使用单例的方式将 bean 存储在DefaultListableBeanfactory类的beanDefinitionMap中(一个 ConcurrentHashMap 类型的Map集合);
IOC 容器使用 ConcurrentHashMap 集合存储了 BeanDefinition 对象,该对象封装了 Spring对 一个 Bean 所有配置信息,包括: 类名,属性,构造方法参数,依赖,是否延迟加载,是否是单例等配置信息
spring两大思想:
一.IOC控制反转 DI依赖注入
IOC容器:springIOC搭建spring容器管理程序中的各个组件(class)让程序可以实现高内聚,低耦合的编程
二.AOP面向切面编程
spring环境搭建:
1.坐标
2.配置文件
springIOC:
1.找到需要以解耦方式获取实例对象的类
2.将需要spring管理的类注入spring容器
<bean id="唯一标识" class="类"></bean>
3.向spring容器中索取java实例(解耦)
3.1.加载spring核心配置文件,获取spring容器对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
3.2.获取对象
Student student = (Student) applicationContext.getBean("student");
Demo02 Demo3
beans.properties beans.xml
key=value id=class
BeansFactory ApplicationContext
getBean(key) getBean(id)
SpringIOC:
● IOC名词解释,作用是解耦,使用IOC容器管理项目组件之间的耦合关系
● IOC( Inversion of Control,中文释义:控制反转 ) 是Spring框架的核心思想之一,
主要用于解耦。IOC是指将创建对象的控制权转移给Spring框架进行管理。由Spring框架根
据配置文件或注解等方式,创建bean对象并管理各个bean对象之间的依赖关系。使对象之间
形成松散耦合的关系,实现解耦;
○ 控制 :指的是对象创建(实例化、管理)的权力
○ 反转 :控制权交给外部环境(Spring框架、IoC容器)
关键字:
BeanFactory(父)
ApplicationContext(子)
ClassPathXmlApplicationContext============>通过加载主配置文件的相对路径,获取spring容器
FileSystemXmlApplicationContext===========>通过加载主配置文件的绝对路径,获取spring容器
AnnotationConfigApplicationContext========>加载配置类,获取spring容器