1 spring简介
spring 框架主要作用是和其他主流框架进行整合开发。SSM: spring springmvc mybatis
2 为什么说spring是轻量级的框架
Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。
spring在应用时需要加载服务较少。
spring有2个核心:1.IOC 2.AOP
3 IOC(掌握)
IOC 全称 inversion of controll 控制反转。
User类,创建User类对象,通过调用构造方法进行创建,User user = new User(), spring来管理对象的创建和销毁,把对象创建权利的反转成为控制反转。User<---------spring(管理User--->创建User对象)
4 使用spring ioc来实现获取User对象。
- 新建项目,java Project
- 添加所需要的依赖包
3 在项目的src目录下添加spring的配置文件
4 在项目的src下新建User类
UserDAO UserService让spring负责这两个类对象的创建
xml方式:
例子:
注解方式:
例子:
5 依赖注入
spring不但可以负责类对象的创建,还可以建立(管理)bean与bean之间的依赖关系,
将spring管理bean与bean之间依赖的关系的过程称为 “依赖注入”
需求:建立userService 和userDAO之间的依赖关系?
xml方式
-
setter方法注入 2.构造方法注入
1 setter注入
例子
2 构造方法注入:
例子:
注解方式:
例子
6 值注入
值注入:注入属性的值叫值注入。
值注入方式:1.setter方式注入2.构造方法注入 3.p空间注入
1 setter方式
2.构造方法
3 p空间注入
7 AOP(掌握)
AOP 全称 Aspect Oriented Programming 面向切面编程。
扩展类(类中的方法)不需要修改源代码就可以实现。
AOP应用场景:日志、校验等。
AOP原理:采用的是横向抽取机制取代传统的纵向抽取机制
横向抽取机制
关于AOP的几个术语:
采用2种方式:1.xml文件方式 2.注解方式
新建切面类,MyAspejct
- xml 文件方式
<!-- 配置aop -->
<aop:config>
<!-- 配置切入点 expression表示切入点的表达式
取值语法: execution(方法返回值类型 包名.类名.方法名(..)) *:通配符
execution(* com.xx.dao.*.*(..)) id属性表示切入点的唯一标识-->
<aop:pointcut expression="execution(* com.xx.dao.*.*(..))" id="pc"/>
<!-- 配置切面 ref表示切面类引用的bean-->
<aop:aspect id="as" ref="myAspect">
<!-- 配置增强 -->
<!-- 配置前置通知(增强) method属性表示切面类中增强方法的名称 -->
<!-- pointcut-ref表示增强指向的切入点 -->
<aop:before method="before" pointcut-ref="pc"/>
<!-- 配置后置返回通知 -->
<aop:after-returning method="afterReturn" pointcut-ref="pc"/>
<!-- 配置异常通知:异常通知在发生异常的情况下才会执行 -->
<aop:after-throwing method="afterThrowing" pointcut-ref="pc"/>
<!-- 配置最终通知:不管程序有没有异常,最终通知都会执行 -->
<aop:after method="after" pointcut-ref="pc"/>
<!-- 配置环绕通知:在目标方法执行之前和之后都会执行 -->
<aop:around method="around" pointcut-ref="pc"/>
</aop:aspect>
</aop:config>
例子
2 注解方式:
例子
8 注意
1
2
3
4 Autowired和Resource区别
9 mybatis关联关系对象映射
一对一
一对多
10 SSM整合(重点)
例子
com.xx.entity.SysUser
com.xx.mapper.SysUserMapper
com.xx.mapper.SysUserMapper.xml
com.xx.service.UserService
com.xx.service.impl.UserServiceImpl
com.xx.controller.LoginController
登录页面
成功跳转页面