JavaEE框架整合开发⼊门到实战(⼀⾄四章整理)整理这个东西是因为:
第⼀章:Spring⼊门
1、Spring简介
⼀个轻量级Java的开发框架
为了解决企业级开发业务逻辑层和其他各层的耦合问题
负责基础架构,开发者可以专注于应⽤程序的开发
2、Spring的体系结构
1. 核⼼容器
Spring-core模块:框架的基本组成部分,包括控制反转(IOC)和依赖注⼊(DI)
Spring-bean模块:提供BeanFactory,负责管理Bean对象
Spring-context模块: 提供⼀个框架式的对象访问⽅式
Spring-context-support模块:⽀持整合第三⽅库到到Spring应⽤程序的上下⽂(缓存、邮件服务、任务计划…)Spring-excpression模块:⽀持Spring Excpression Language (SpEL)
2. AOP和Instrumentation
Spring-aop模块:提供了符合AOP要求的⾯向切⾯的编程实现
Spring-aspects模块:提供了对AspectJ的⽀持
Spring-instrument模块:提供了⽤于某些应⽤程序服务器的类⼯具⽀持和类加载器实现3. 消息
Spring-messaging模块:集成messaging api和消息协议提供⽀持
4. 数据访问
Spring-jdbc模块:提供了⼀个Jdbc抽象层
Spring-orm模块:为流⾏的对象关系映射提供集成层,包括JPA和Hibernate
Spring-oxm模块:提供了⼀个⽀持对象/XML⽂件映射的抽象层实现
Spring-jms模块:指Java消息传递服务,包含⽤于⽣产和使⽤消息的功能
Spring-tx模块: ⽀持⽤于编程式和声明式事务管理
5. Web及远程操作层
Spring-web模块:提供了基本的Web开发集成功能
Spring-webmvc模块:包含⽤于Web应⽤程序的SpringMVC和REST Web Service实现Spring-websocket模块:Spring4.0后新增的模块,它提供了WebSoket和SockJS的实现。
Spring-portlet模块:spring⾃⼰实现的⼀个类似Spring MVC的框架
5. 测试
Spring-test模块:进⾏单元测试和集成测试
3、Spring的开发环境的构建
教程:
第⼆章、Spring IOC
1、基本概念
IOC即控制反转(Inversion of Control)是Spring框架的核⼼,⽤来解决程序中的耦合问题
依赖注⼊(dependency injection)是IOC的另⼀种说法
当Spring框架出现后、对象的实例不再由调⽤者来创建,⽽是由Spring容器来创建
在Spring中实现控制反转的是IOC容器,其实现⽅法是依赖注⼊
2、IOC容器
Spring IOC容器的设计主要基于BeanFactory和ApplicationContext两个接⼝
1. BeanFactory接⼝
⼀个管理Bean的⼯⼚,主要负责初始化各种Bean。BeanFactory有多个实现类
⽐较常⽤的是XmlBeanFactory,该类根据Xml配置⽂件中的定义来装配Bean
例如:
//初始化Spring容器,加载配置⽂件
BeanFactory beanfac =new XmlBeanFactory(new FileSystemResource("xml配置⽂件路径"));
/
/通过容器获取TestDao实例
TestDao tt =(Bean("test");
tt.sayHello();
2. AppplicationContext接⼝
AppplicationContext是BeanFactory的⼦接⼝,该接⼝除了包含BeanFactory的所有功能以为,还添加了国际化、资源访问、事件传播等内容的⽀持
创建AppplicationContext的实列通常有三种⽅法:
通过ClassPathXmlApplicartionContext创建:将从类路径⽬录中寻指定的xml配置⽂件
通过FileSystemXmlApplicationContext创建:将从指定⽂件的绝对路径中寻xml配置⽂件
通过Web服务器实例化ApplicationContext容器:在Web服务器实例化ApplicationContext容器时,通过l⽂件寻xml配置⽂件
3、依赖注⼊的类型
1. 能注⼊的数据
基本数据类型和String
其他Bean类型(在配置⽂件或注解中配置过的Bean)
复杂类型/集合类型(list set map)
2. 构造⽅法注⼊
使⽤的标签:constructor-arg
标签所在位置:bean 标签的内部
标签中的属性:
标签含义
type⽤于指定要注⼊的数据类型,该类型也是构造函数中某个或某些参数的类型
index表⽰构造⽅法的第⼏个参数
name(常⽤)表⽰构造函数中指定名称的参数
value⽤于提供基本类型和String类型的数据
ref表⽰引⽤某个实例(在 Spring 容器中出现过的bean)
3. 属性set⽅法注⼊(主流⽅法)
使⽤的标签:property
出现的位置:bean 标签的内部
标签的属性:
标签含义
name表⽰属性的名称
value⽤于提供基本类型和String类型的数据
ref表⽰引⽤某个实例(在 Spring 容器中出现过的bean)
第三章、Spring Bean
1. Bean的配置
Spring框架⽀持XML和Properties两种格式的配置⽂件,实际开发中以XML格式的配置⽂件为主Spring框架中,XML配置⽂件的根元素是<beans>
<bean>元素的id是bean的唯⼀标识
<bean>元素的class是bean将要实例化的类名
2. Bean的实例化
bean实例化的三种⽅法:
构造⽅法实例化
静态⼯⼚实例化
实例⼯⼚实例化
3. Bean的作⽤域
作⽤域名称含义
singletond单例的,Spring容器中只有⼀个Bean实例(默认)
prototype多例的,每次请求,Spring容器都将创建⼀个新的bean实例
request⼀次HTTP请求,Spring容器将返回⼀个bean实例,不同的Http请求返回不同的Bean
session在⼀个HTTPSession中,⼀个Bean对应⼀个实例
application为每个ServletContext对象创建⼀个实例,即同⼀个应⽤共享Bean实例
websocket为每个WebSocket对象创建⼀个Bean实例
4. Bean的⽣命周期
单例对象(singletond):Spring精确的知道Bean何时被创建,何时初始化完成,以及何时销毁
多例对象(prototype):Spring只负责创建,不跟踪其⽣命周期
在bean初始化时,如果要执⾏指定⾃定义的初始化⽅法,需要在xml⽂件中配置bean的init-method属性值
在bean销毁时,如果要执⾏指定⾃定义的销毁⽅法,需要在xml⽂件中配置bean的destroy-method属性值
bean的⽣命周期⼤致可归纳为“实例化–>初始化(init)–>使⽤–>销毁(destory)”等阶段
5. Bean的装配⽅式
1. 基于Xml的装配⽅式
2. 基于注解的装配⽅式(主流⽅式)
@Component:该注解是⼀个泛化的概念,仅仅表⽰⼀个组件对象(Bean),可以作⽤在任何层次上
@Reposittory: 该注解⽤于将数据访问层(DAO)的类标识⽂Bean ,即注解数据访问层Bean
@Service:该注解⽤于标注业务逻辑层组件类(Service层)
@Contrller:该注解⽤于标注⼀个控制器组件类(Spring MVC 的 Controller)
@Autowired:该注解可以对类成员变量、⽅法及构造⽅法进⾏标注,完成⾃动装配⼯作,默认按Bean的类型进⾏装配,如果要按名称装配注⼊,需要和@Qualifier注解配合使⽤
@Resource:该注解与@Autowired的功能相同,但是@Resource默认按照名称来装配注⼊
spring ioc注解@Qualifier: 该注解与@Autowired注解配合使⽤。当@Autowired注解需要按照名称来装配注⼊时,需要和该注解⼀起使⽤
第四章、Spring Aop
1. Spring AOP的基本概念
AOP概念(Aspect-Oriented Programming):即⾯向切⾯编程,与OOP(Object - Oriented Programming,⾯向对象编程)相辅相
成,AOP的基本单元为Aspect(切⾯),AOP采取横向抽取机制将分散在各个⽅法中的重复代码提取出来,然后在编译或运⾏阶段将这些代码应⽤到需要执⾏的地⽅
Aop的术语
切⾯(Aspect):是指封装抽取功能的类
连接点(Joinpoint):连接点是指代码中⼀些具有边界性质的特定位置,或程序运⾏时的⼀些时间点
切⼊点(Pointcut):是指调⽤切⾯功能的连接点
通知(Advice)是切⾯添加到切⼊点的⼀段代码,即切⼊点要执⾏的程序代码
引⼊(Introduction):特殊的增强,可以为⽬标类添加⾃定义属性及⽅法
⽬标对象(Target):需要添加增强的⽬标类
代理(Proxy)是通知应⽤到⽬标对象之后被动态创建的对象
织⼊(Weaving)是将切⾯代码插⼊到⽬标对象上,从⽽⽣成代理对象的过程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。