成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

Java開發(fā)者要掌握的20個Spring常用注解分別是什么,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

新鄉(xiāng)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

注解本身沒有功能的,就和 xml 一樣。注解和 xml 都是一種元數(shù)據(jù),元數(shù)據(jù)即解釋數(shù)據(jù)的數(shù)據(jù),這就是所謂配置。

下面主要羅列 Spring|Spring MVC相關(guān)注解的簡介。

Spring部分

1、聲明bean的注解

@Component 組件,沒有明確的角色

@Service 在業(yè)務(wù)邏輯層使用(service層)

@Repository 在數(shù)據(jù)訪問層使用(dao層)

@Controller 在展現(xiàn)層使用,控制器的聲明(C)

2、注入bean的注解

@Autowired:由Spring提供

@Inject:由JSR-330提供

@Resource:由JSR-250提供

都可以注解在set方法和屬性上,推薦注解在屬性上(一目了然,少寫代碼)。

3、java配置類相關(guān)注解

@Configuration 聲明當前類為配置類,相當于xml形式的Spring配置(類上)

@Bean 注解在方法上,聲明當前方法的返回值為一個bean,替代xml中的方式(方法上)

@Configuration 聲明當前類為配置類,其中內(nèi)部組合了@Component注解,表明這個類是一個bean(類上)

@ComponentScan 用于對Component進行掃描,相當于xml中的(類上)

@WishlyConfiguration 為@Configuration與@ComponentScan的組合注解,可以替代這兩個注解

4、切面(AOP)相關(guān)注解

Spring支持AspectJ的注解式切面編程。

@Aspect 聲明一個切面(類上)

使用@After、@Before、@Around定義建言(advice),可直接將攔截規(guī)則(切點)作為參數(shù)。

@After 在方法執(zhí)行之后執(zhí)行(方法上)

@Before 在方法執(zhí)行之前執(zhí)行(方法上)

@Around 在方法執(zhí)行之前與之后執(zhí)行(方法上)

@PointCut 聲明切點

在java配置類中使用@EnableAspectJAutoProxy注解開啟Spring對AspectJ代理的支持(類上)

5、@Bean的屬性支持

@Scope 設(shè)置Spring容器如何新建Bean實例(方法上,得有@Bean)

其設(shè)置類型包括:

Singleton (單例,一個Spring容器中只有一個bean實例,默認模式),

Protetype (每次調(diào)用新建一個bean),

Request (web項目中,給每個http request新建一個bean),

Session (web項目中,給每個http session新建一個bean),

GlobalSession(給每一個 global http session新建一個Bean實例)

@StepScope 在Spring Batch中還有涉及

@PostConstruct 由JSR-250提供,在構(gòu)造函數(shù)執(zhí)行完之后執(zhí)行,等價于xml配置文件中bean的initMethod

@PreDestory 由JSR-250提供,在Bean銷毀之前執(zhí)行,等價于xml配置文件中bean的destroyMethod

6、@Value注解

@Value 為屬性注入值(屬性上)

支持如下方式的注入:

》注入普通字符

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

》注入操作系統(tǒng)屬性

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

》注入表達式結(jié)果

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

》注入其它bean屬性

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

》注入文件資源

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

》注入網(wǎng)站資源

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

》注入配置文件

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

注入配置使用方法:

① 編寫配置文件(test.properties)

book.name=《三體》

② @PropertySource 加載配置文件(類上)

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

③ 還需配置一個PropertySourcesPlaceholderConfigurer的bean。

7、環(huán)境切換

@Profile 通過設(shè)定Environment的ActiveProfiles來設(shè)定當前context需要使用的配置環(huán)境。(類或方法上)

@Conditional Spring4中可以使用此注解定義條件話的bean,通過實現(xiàn)Condition接口,并重寫matches方法,從而決定該bean是否被實例化。(方法上)

8、異步相關(guān)

@EnableAsync 配置類中,通過此注解開啟對異步任務(wù)的支持,敘事性AsyncConfigurer接口(類上)

@Async 在實際執(zhí)行的bean方法使用該注解來申明其是一個異步任務(wù)(方法上或類上所有的方法都將異步,需要@EnableAsync開啟異步任務(wù))

9、定時任務(wù)相關(guān)

@EnableScheduling 在配置類上使用,開啟計劃任務(wù)的支持(類上)

@Scheduled 來申明這是一個任務(wù),包括cron,fixDelay,fixRate等類型(方法上,需先開啟計劃任務(wù)的支持)

10、@Enable*注解說明

這些注解主要用來開啟對xxx的支持。

@EnableAspectJAutoProxy 開啟對AspectJ自動代理的支持

@EnableAsync 開啟異步方法的支持

@EnableScheduling 開啟計劃任務(wù)的支持

@EnableWebMvc 開啟Web MVC的配置支持

@EnableConfigurationProperties 開啟對@ConfigurationProperties注解配置Bean的支持

@EnableJpaRepositories 開啟對SpringData JPA Repository的支持

@EnableTransactionManagement 開啟注解式事務(wù)的支持

@EnableTransactionManagement 開啟注解式事務(wù)的支持

@EnableCaching 開啟注解式的緩存支持

11、測試相關(guān)注解

@RunWith 運行器,Spring中通常用于對JUnit的支持

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

@ContextConfiguration 用來加載配置ApplicationContext,其中classes屬性用來加載配置類

Java開發(fā)者要掌握的20個Spring常用注解分別是什么

SpringMVC部分

@EnableWebMvc 在配置類中開啟Web MVC的配置支持,如一些ViewResolver或者MessageConverter等,若無此句,重寫WebMvcConfigurerAdapter方法(用于對SpringMVC的配置)。

@Controller 聲明該類為SpringMVC中的Controller

@RequestMapping 用于映射Web請求,包括訪問路徑和參數(shù)(類或方法上)

@ResponseBody 支持將返回值放在response內(nèi),而不是一個頁面,通常用戶返回json數(shù)據(jù)(返回值旁或方法上)

@RequestBody 允許request的參數(shù)在request體中,而不是在直接連接在地址后面。(放在參數(shù)前)

@PathVariable 用于接收路徑參數(shù),比如@RequestMapping(“/hello/{name}”)申明的路徑,將注解放在參數(shù)中前,即可獲取該值,通常作為Restful的接口實現(xiàn)方法。

@RestController 該注解為一個組合注解,相當于@Controller和@ResponseBody的組合,注解在類上,意味著,該Controller的所有方法都默認加上了@ResponseBody。

@ControllerAdvice 通過該注解,我們可以將對于控制器的全局配置放置在同一個位置,注解了@Controller的類的方法可使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上,

這對所有注解了 @RequestMapping的控制器內(nèi)的方法有效。

@ExceptionHandler 用于全局處理控制器里的異常

@InitBinder 用來設(shè)置WebDataBinder,WebDataBinder用來自動綁定前臺請求參數(shù)到Model中。

@ModelAttribute 本來的作用是綁定鍵值對到Model里,在@ControllerAdvice中是讓全局的@RequestMapping都能獲得在此處設(shè)置的鍵值對。

關(guān)于Java開發(fā)者要掌握的20個Spring常用注解分別是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

當前文章:Java開發(fā)者要掌握的20個Spring常用注解分別是什么
當前路徑:http://jinyejixie.com/article32/gpsdpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)Google、App開發(fā)虛擬主機、全網(wǎng)營銷推廣、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作