1 IOC/DI
1.1 重点
1.介绍
Spring是一个基于IOC和AOP的结构J2EE系统的框架
IOC 反转控制 是Spring的基础,Inversion Of Control
简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象
DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
2.AOP 即 Aspect Oriented Program 面向切面编程
3.POJO和JavaBean的区别
https://www.jianshu.com/p/6f3e2bd50cb1
4.@Autowired和@Resource 可以注入对象
1.2 问题
1.本地 idea 编译的时候报错。 Error:java: 无效的源发行版: 11
原因:项目的 jdk (Project SDK)版本 和项目的语言级别(Project language level )不同。
解决方式:
打开 idea 的 Project Structure 菜单。 默认快捷键: Ctrl + Shift + Alt + s。或者点击file也能找到
修改对应的 Project SDK 、Project language level 到相对于的级别即可。如 Project language level 改为 8 ,成功解决问题
2.applicationContext.xml里xmlns 红色
解决方式:用idea自带的fetch resource
3.org.springframework.红色
原因:jar包没有正常导入
解决:打开 idea 的 Project Structure 菜单->modules Dependencies->jars选择JARs or directories
2 AOP
2.1 重点
1.AOP
即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能。
核心业务功能:登陆,增加数据,删除数据等
周边功能:性能统计,日志,事务管理等
周边功能在Spring的面向切面编程AOP思想里,即被定义为切面, 在面向切面编程AOP的思想里面,核心业务功能和切面功能分别独立进行开发,然后把切面功能和核心业务功能 “编织” 在一起,这就叫AOP
2.功能
-
功能分两大类,辅助功能和核心业务功能
-
辅助功能和核心业务功能彼此独立进行开发
-
比如登陆功能,即便是没有性能统计和日志输出,也可以正常运行
-
如果有需要,就把"日志输出" 功能和 “登陆” 功能 编织在一起,这样登陆的时候,就可以看到日志输出了
-
辅助功能,又叫做切面,这种能够选择性的,低耦合的把切面和核心业务功能结合在一起的编程思想,就叫做切面编程