日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简化java_JAVA之旅-简化java开发

發布時間:2025/3/12 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简化java_JAVA之旅-简化java开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為了降低java開發的復雜性,spring采取了以下4種關鍵策略

基于POJO的輕量級和最小侵入行編程

為使不讓應用與框架綁死,一個bean不會實現,繼承或者導入Spring API相關的任何東西,只是一個普通的java對象。

2. ?通過依賴注入和面相接口實現松耦合

每個對象負責管理與自己相互協作的對象(即它所依賴對象)的引用,這將會導致高度耦合和難以測試的代碼。

高度耦合的意思是一個類要管理自己的對象,

public class PerformShow implementsPerform{privateStar star;publicPerformShow() {this.star = newSuperStar();

}

}

這是典型的例子,這會使

內部對象實例可更改性很差,而且功能過于單一。

單元測試可很難做,究其原因是無法方便的取出內部對象star.

改造方法是利用依賴注入實現松耦合。分為構造器注入和setter注入兩種。

public class PerformShow implementsPerform{privateStar star;//constructor

publicPerformShow(Star star) {this.star =star;

}//for setter property

public voidsetStar(Star star) {this.star =star;

}

}

通過注入,其實就是下面這個樣子,但是這里面有幾個需要注意的。

這個單元測試就很好做了,因為我們有有了start這個對象了。

類內部的對象和執行方法多變,以前只能限制成SuperStar這個類。現在什么明星只要實現Star接口的都可以。這個也是松耦合的意思,就是以接口實現傳遞,降低耦合關系。

其實基于xml和注解的注入方式都和這個類似,就是方式不一樣罷了。

Star star = newSuperStar();

Perform perform= new PerformShow(star);

DI:對象的依賴關系將由負責協調系統中各個對象的第三方組件在創建時設定。對象無需自行創建或管理它們的依賴關系。

用xml的寫法如下。

利用上下文把其加載進來,這樣就做到perform接口不知實現類是誰,也不知其內部的star接口是怎樣的明星,實現松耦合。

ApplicationContext context = new ClassPathXmlApplicationContext("spring-injection-init-destroy.xml");

Perform performconstructor= (Perform)context.getBean("performconstructor");

3. ? 基于切面和慣例進行聲明式編程(aop)

依賴注入讓相互協作的軟件組件保持松散耦合,而aop變成允許把遍布應用各處的功能分離出來形成可重用的組件。

諸如日志、事務管理和安全此類的系統服務經常融入到自身核心業務邏輯的組件中去,這些系統服務通常是橫切關注點,它們不屬于任何一個業務組件,這是就需要aop編程。

這樣可以是組件更加關心自身的業務和有很高的內聚性。

public class FamilyCui implementsFamily {privateMember member;publicFamilyCui(Member member) {this.member =member;

}public voiddoSomething (){

member.doJob();

}

}public classFamilyLog {public voidbeforFun(){

System.out.println("想知道孩子們在干啥!");

}public voidafterFun() {

System.out.println("哦,我知道了");

}

}

首先我們有一個Family類,我們要把他的方法作為切入點,那我們就需要一個類FamilyLog,然后定義我們的切片方法beforeFun和afterFun,并聲明在切入點的什么時候用。

4. ? 通過切面和模版減少樣板式代碼

這個很好理解,以JDBC為例,在實質的代碼前要有好多的開啟關閉動作,用spring可以搞定這些。

總結

以上是生活随笔為你收集整理的简化java_JAVA之旅-简化java开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。