初始sping
sping框架學習:
1,什么是spring框架
spring是J2EE應用程序框架,是輕量級的IoC和AOP的容器框架,主要是針對javaBean的生命周期進行管理的輕量級容器,可以單獨使用,也可以和Struts框架,ibatis框架等組合使用。
2,架構概述
1)IoC(Inversion of Control)控制反轉,對象創建責任的反轉,在spring中BeanFacotory是IoC容器的核心接口,負責實例化,定位,配置應用程序中的對象及建立這些對象間的依賴。XmlBeanFacotory實現BeanFactory接口,通過獲取xml配置文件數據,組成應用對象及對象間的依賴關系。
控制反轉意思就是說,當我們調用一個方法或者類時,不再有我們主動去創建這個類的對象,控制權交給別人(spring)。
依賴注入意思就是說,spring主動創建被調用類的對象,然后把這個對象注入到我們自己的類中,使得我們可以使用它。
spring中有三種注入方式,一種是set注入,一種是接口注入,另一種是構造方法注入。
?
? ? ? ?2)AOP面向切面編程
? ?aop就是縱向的編程,如下圖所示,業務1和業務2都需要一個共同的操作,與其往每個業務中都添加同樣的代碼,不如寫一遍代碼,讓兩個業務共同使用這段代碼。?spring中面向切面變成的實現有兩種方式,一種是動態代理,一種是CGLIB,動態代理必須要提供接口,而CGLIB實現是有繼承。
3,為什么使用spring框架
? 在不使用spring框架之前,我們的service層中要使用dao層的對象,不得不在service層中new一個對象
//dao層對象
public class UserDao{
publicvoid insert(User user){}
}
//service層對象
public classUserService{
publicvoid insert(User user){
UserDaouserdao = new UserDao();
userdao.insert(user);
}
}
使用框架后:
public classUserService{
privateUserDao userdao;
publicUserDao getUserdao() {
returnuserdao;
}
publicvoid setUserdao(UserDao userdao) {
this.userdao= userdao;
}
publicvoid insert(User user){
userdao.insert(user);
}
}
service層要用dao層對象需要配置到xml配置文件中,至于對象是怎么創建的,關系是怎么組合的都交給了spring框架去實現。
4,框架優點
1>.使用Spring的IOC容器,將對象之間的依賴關系交給Spring,降低組件之間的耦合性,讓我們更專注于應用邏輯
2>.可以提供眾多服務,事務管理,WS等。
3>.AOP的很好支持,方便面向切面編程。
4>.對主流的框架提供了很好的集成支持,如hibernate,Struts2,JPA等
5>.Spring DI機制降低了業務對象替換的復雜性。
6>.Spring屬于低侵入,代碼污染極低。
7>.Spring的高度可開放性,并不強制依賴于Spring,開發者可以自由選擇Spring部分或全部
5,缺點:業務功能依賴spring特有的功能,依賴與spring環境。
總結
- 上一篇: 超声波传感器+蜂鸣器实现距离报警
- 下一篇: 收发一体超声波测距离传感器模块_Ardu