Spring是什么?
1.轻量级:可实现零配置编程,api使用简单
2.bean:豆子,非常普通的对象,不需要依赖其他的东西
3.松耦合:充分利用aop思想
4.万能胶:与主流框架无缝集成
5.设计模式:将java中的经典设计模式运用的淋漓尽致
Spring设计背景
立志于全方面的简化java开发,4个策略
1.基于POJO的轻量级和最小倾入性编程
2.通关依赖注入和面相接口松耦合
3.基于切面和惯性进行声明式编程
4.通关切面和模版减少样本代码
面相bean编程 和java 面相对象编程差不多
@Autowrite 根据接口注入、根据类型注入
@Resource(“abc”) ioc容器中类的id为abc的对象自动注入,可以区分父子类
实例化的先后顺序
注入方式
get set
构造器注入
强制注入
Spring是什么?
1.轻量级:可实现零配置编程,api使用简单
2.bean:豆子,非常普通的对象,不需要依赖其他的东西
3.松耦合:充分利用aop思想
4.万能胶:与主流框架无缝集成
5.设计模式:将java中的经典设计模式运用的淋漓尽致
Spring设计背景
立志于全方面的简化java开发,4个策略
1.基于POJO的轻量级和最小倾入性编程
2.通关依赖注入和面相接口松耦合
3.基于切面和惯性进行声明式编程
4.通关切面和模版减少样本代码
面相bean编程 和java 面相对象编程差不多
@Autowrite 根据接口注入、根据类型注入
@Resource(“abc”) ioc容器中类的id为abc的对象自动注入,可以区分父子类
实例化的先后顺序
注入方式
get set
构造器注入
强制注入
aop 面相切面编程:解耦
切面:规则
把整体拆分,分别开发,等到发布的时候,在组装到一起运行
aop是一种编程思想,它允许程序员对横切关注点或横切典型的职责分界线的行为(如日志和事务管理)进行模块化。它将那些影响多个类的行为封装到可重用的模块中
依赖注入:高层代码需要底层代码的支持,手动new耦合太紧,所以就ioc实现了控制反转
控制的什么被反转了?就是:获得依赖对象的方式反转了。
spring 缺点:反射机制 占内存
1)开源框架 分层架构
2)IoC(控制反转),将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合
3)AOP 将安全,日志、事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,实现了按照切面编程,提高了复用性。不改变代码的情况下完成对方法的增强。