1.框架与分层:
-
MyBatis - Dao层 - 和数据库交互
-
SpringMVC - Web层 - 和用户交互
-
Spring - 不属于任何一层 - 整合其他框架
-
概念 - IOC DI AOP
-
IOC - 控制反转:Spring的IOC容器负责对象的创建和管理,需要哪个对象就从IOC容器中直接获取
-
DI - 依赖注入:赋值
-
AOP - 面向切面编程:不修改源码的情况下,对源码进行增强
-
-
实现 - 注解
-
2.Spring优势
-
方便解耦,简化开发
-
AOP 编程的支持
-
声明式事务处理
3.实例化对象常见注解
- 让Spring的IOC容器创建对象
-
@Controller - 在Controller类上
-
@Service - 在Service类上
-
@Repsitory - 在Dao类上
-
@Component - 不属于任何一层的类上
-
ps:四个注解作用完全相同,建议使用的位置不同
4.依赖注入 - 常见注解
-
@Autowired
-
有参构造方法注入:有参构造方法 + @Autowired
-
set方法注入:setXxx() + @Autowired
-
@Qualifier:结合@Autowired实现根据名称注入,类必须有名称(value)
-
Resource:根据名称注入
5.实例化第三方类
配置类 + @Bean
-
@Configuration:定义在类上,表示这是一个配置类
-
@Bean:将方法的返回值让IOC管理,使用在配置类的方法上
6.其他
-
@ComponentScan: 配置包扫描,指定扫描哪个包
-
@PropertySource:加载properties里的配置
-
@Import(xxx.class):导入其他配置类
-
Transactional:使事务失效
7.AOP
1)动态代理
不修改源码的情况下,对源码进行增强
2)相关概念
见教程
3)通知配置
4)切点表达式
-
语法
execution([修饰符] 返回值类型 包名.类名.方法名(参数))
-
注意:
-
访问修饰符可以省略
-
返回值类型、包名、类名、方法名可以使用星号*代表任意
-
包名与类名之间一个点 . 代表当前包下的类,两个点 .. 表示当前包及其子包下的类
-
参数列表可以使用两个点 .. 表示任意个数,任意类型的参数列表
8.事务处理 - 声明式事务处理
-
AOP
如何使用拦截器
-
定义拦截器,实现HandlerInterceptor接口
-
配置拦截器,在自定义的配置类中配置
-
配置类要实现WebMvcConfigurer接口
-
重写addInterceptors方法,添加拦截器并配置拦截器拦截和排除的路径
-
SpringMVC
1.MVC拦截器
如何使用拦截器
-
定义拦截器,实现HandlerInterceptor接口
-
配置拦截器,在自定义的配置类中配置
-
配置类要实现WebMvcConfigurer接口
-
重写addInterceptors方法,添加拦截器并配置拦截器拦截和排除的路径
-
EX:登陆验证
????????太多啦
2.Swagger
-
目的:统一文档
-
配置文件:见教程
-
配置类:@Configuration @RequestMapping
-
常见注解