Spring的核心技术:IOC、DI、AOP与事物管理、事物传播行为
Spring的核心原理:反射技术+解析xml(dom4J)
什么是Spring:管理每个bean(对象)与bean(对象)之间的关系,使用Spring进行管理
Spring的好处:解耦、单例(节约内存,不过线程不安全)
什么是IOC:控制反转,将bean对象的创建交给Spring容器进行管理,其核心技术是反射。
创建对象, 有几种方式:
1) 调用无参数构造器
2) 带参数构造器
3) 工厂创建对象
工厂类,静态方法创建对象
工厂类,非静态方法创建对象
什么是ID:依赖注入,解决对象之间的依赖关系
Spring中,如何给对象的属性赋值?
1) 通过构造函数
2) 通过set方法给属性注入值
3) p名称空间
4) 注解
思考下,为什么需要生成set方法才能赋值?
因为反射机制会拿到所有方法,拼接setXXX方法,找一下有没有这个方法,有这个方法之后,通过反射机制将创建的对象传参到setXXX方法里
什么是AOP:面向切面编程
原理:动态代理设计模式
应用场景:权限控制、事物管理、日志打印等等
项目什么地方会使用AOP:代码重复,例如日志打印
AOP的3种概念
关注点:重复代码
切面:抽取的重复代码
切入点:拦截的那些方法
AOP的两种方式:
1.注解 (推荐,也是常用的方式)
2.xml (之前项目中xml文件中有的事物管理 *.add *.del)