Spring简述
目前市面上流行的java开发框架
特点:
轻量级
面向BEAN
松耦合
万能胶
设计模式
spring最根本的目的就是简化开发
在使用Spring进行编程的时候,Bean是真正的主角。没有Bean的Spring毫无意义。IOC容器(存放java Bean)Spring提供了IOC容器通过配置文件或者注解的方式来管理对象之间的依赖关系。
IOC的最终目的是实现依赖注入
依赖注入的方式
@Autowired Interface A a; //(自动把A的实现类给注入进来)
@Resource("aa") A a; //IOC容器中ID为aa的对象自动注入进来(可以区分父子类)
@Autowired A a;//根据类型自动注入
spring的注入方式
1.setter
2.构造方法赋值
3.强制赋值
实例化 的先后顺序
class C{
private A a;
public void func(){
a.func();
}
}
class A{
private B b;
}
实例化顺序 B A C
AOP思想
面向切面编程,也是面向规则编程
先把一个整体拆分,分别按照一定的规则进行开发,在发布的时候,再按照规则组装,无缝衔接,一起运行。
AOP的应用场景。
权限认证,日志,事务,懒加载,应用上下文。Error handler(异常捕获机制)
缓存处理。
Spring事务管理,日志和其他各种特性的上下文。
Spring常用的设计模式
代理模式:
(1.执行者—被代理人,
2被代理人一定要做,但自己做不了的事,找代理人代理,
3此时代理人需要获取被代理人的全部信息
)
静态代理:
动态代理:
JDK动态代理:
CGlib动态代理:
工厂模式:
单例模式:
委派模式:
策略模式:
原型模式:
待续…