一、Spring框架是什么?
1.Spring 的核心是控制反转(IoC)和面向切面编程(AOP),Spring 是可以在 Java SE/EE 中使用的轻量级开源框架。
2.Spring全家桶:spring , springmvc ,spring boot , spring cloud 等
3.Spring体系结构
4.Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、提供JVM的代理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)
二、IOC控制反转
1.Spring的第一个程序
1.创建好maven项目(创建步骤可以参照MyBatis) 2.引入依赖到pom.xml文件中。ps:插件可加可不加 3.定义接口与实体类
2.基于XML的DI
如何给对象的属性赋值。有两种方法:基于XML的DI,基于注解的DI 1.简单类型(set注入)
3.基于注解的DI
基于注解的DI方法用的较多 1.@Component:创建对象
2.@Repository:创建dao对象,用来访问数据库
3.@Service:创建Service对象,处理业务逻辑的
4.@Controller:创建控制器对象,接受请求,显示处理结果的
5.@Value:简单类型的属性赋值
6.@Autowired:引用类型赋值,支持byName,byType,默认byType
7.@Resource:jdk中的注解,使用自动注入给引用类型赋值,支持byName,byType,默认byName
1.@Component
三、AOP面向切面编程
1.动态代理(了解)
如果仅仅在doSome中增加日志和提交事务的需求,而doOther不需要,那该如何处理呢?
2.AOP简介
AOP说白了就是动态代理的规范化
3. AspectJ对AOP的实现
AspectJ的切入点表达式
使用aspectj实现aop
新建maven项目并添加依赖
创建目标类:接口和它的实现方法
创建切面类
创建spring的配置文件
创建测试类
@Before前置通知-方法有JoinPoint参数
@AfterReturning后置通知-注解有returning属性
@Around环绕通知-增强方法ProceedingJoinPoint参数
@AfterThrowing异常通知-注解中有throwing属性
@After最终通知
@Pointcut 定义切入点
四、Spring集成MyBatis
1.Spring 集成 MyBatis介绍
2. MyBatis与 Spring 进行整合
创建数据库(用原来的)
假装这里有图片
创建maven项目并引入依赖和插件
创建实体类和对应的dao接口以及mapper文件
定义service接口和实现类
定义Mybatis主配置文件和Spring主配置文件
创建test类
用service去实现方法
3.总结
五、Spring事务
1.事务介绍
2.事务程序举例
新建数据库
项目实现
3.使用 Spring 的事务注解管理事务
4.使用 AspectJ 的 AOP 配置管理事务
但是在大型项目中,不可能就一个方法引入事务,如果有几十个方法引入事务,在这么去写很冗余,下面给出了解决方法
以上的例子中只说明了哪些类应该使用事务,却没有说是哪个包下面的类。如果引入事务的类不在同一个包中,又该怎么办呢?
六、Spring与Web
1.创建一个 springWeb 项目
复制之前ch02,(添加貂蝉的那个项目)的java文件下和resources文件下的代码复制到新项目中
2.使用Spring的器监听器 ContextLoaderListener
总结
提示:这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了spring框架的使用,下面会讲解spring MVC内容