第一部分 Spring 的核心
作者:互联网
1.1 简化Java开发
Spring帮助企业级开发提供丰富的功能,依赖于它的两个核心功能
1.依赖注入(DI)
2.面向切面编程(AOP)
Sping的最根本的使命:简化java开发。
为了降低java开发的复杂性,Sping采取了四种关键策略
1.基于POJO的轻量级和最小入侵性编程
2.通过依赖注入和面向接口实现松耦合
3.基于切面和惯例进行声明式编程
4.通过切面和模板减少样板式代码
1.1.1 激发POJO的潜能
很多框架通过强迫应用继承他们的或实现他们的接口导致应用于框架绑死。
Spring不会强迫你实现Sping规范的接口或继承Spring规范的类。
1.1.2 依赖注入(DI)
任何有实际意义的应用都会有两个或者更多的类组成,这些类互相合作完成特定的业务逻辑。每个对象负责管理与自己相互协作的对象的引用,这会导致高度耦合和难以测试的代码。
public class DamselRescuingKing implements Knight{
private RescueDamselQuest quest;
public DamselRescuingKing (){
//与RescueDamselQuest紧耦合
this.quest = new RescueDamselQuest();
}
public void embarkOnQuest(){
quest.embark();
}
}
DamselRescuingKnight紧密的和RescueDamselQuest耦合到了一起。这个类无法进行测试。
耦合具有两面性,紧密耦合的代码难以测试,难以复用,难以理解,并且出现“打地鼠BUG” 修复一个BUG出现另一个BUG。
另一方面一定程度的耦合是必须的,完全没有耦合的代码什么也做不了。为了完成具有实际意义的功能,不同的类需以适当的方式交叉。
耦合是必须的,但是必须小心谨慎的管理。
构造器注入
public class BraveKnight implements Knight{
private Quest quest;
public BraveKnight(Quest quest){
this.quest = quest;
}
public void embarkOnQuest(){
quest.embark();
}
}
标签:RescueDamselQuest,第一,Spring,BUG,quest,核心,耦合,public 来源: https://blog.csdn.net/tfcpanda/article/details/89364706