SpringBoot之Java配置的實(shí)現(xiàn)
Java配置也是Spring4.0推薦的配置方式,完全可以取代XML的配置方式,也是SpringBoot推薦的方式。
Java配置是通過(guò)@Configuation和@Bean來(lái)實(shí)現(xiàn)的:
1、@Configuation注解,說(shuō)明此類是配置類,相當(dāng)于Spring的XML方式
2、@Bean注解,注解在方法上,當(dāng)前方法返回的是一個(gè)Bean
eg:
此類沒(méi)有使用@Service等注解方式
package com.wisely.heighlight_spring4.ch1.javaconfig; public class FunctionService { public String sayHello(String world) { return "Hello " + world + "!"; } }
此類沒(méi)有使用@Service注解lei,也沒(méi)有使用@Autowire注入Bean
package com.wisely.heighlight_spring4.ch1.javaconfig; public class UseFunctionService { FunctionService functionService; public void setFunctionService(FunctionService functionService) { this.functionService = functionService; } public String SayHello(String world) { return functionService.sayHello(world); } }
1、使用@Configuation注解說(shuō)明此類是一個(gè)配置類
2、使用@Bean注解的方式注解在方法上,返回一個(gè)實(shí)體Bean,Bean的名稱是方法名。
3、注入FunctionService的Bean的時(shí)候,可以直接使用functionService方法。
4、注解將functionService作為參數(shù)直接傳入U(xiǎn)seFunctionService。在spring容器中,只要在容器中存在一個(gè)Bean,就可已在另一個(gè)Bean的聲明方法的參數(shù)中直接使用。
package com.wisely.heighlight_spring4.ch1.javaconfig; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class JavaConfig { @Bean public FunctionService functionService() { return new FunctionService(); } @Bean public UseFunctionService useFunctionService() { UseFunctionService useFunctionService = new UseFunctionService(); useFunctionService.setFunctionService(functionService()); return useFunctionService; } @Bean public UseFunctionService useFunctionService(FunctionService functionService) { UseFunctionService useFunctionService = new UseFunctionService(); useFunctionService.setFunctionService(functionService); return useFunctionService; } }
測(cè)試類:
package com.wisely.heighlight_spring4.ch1.javaconfig; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class); UseFunctionService useFunctionService = context.getBean(UseFunctionService.class); System.out.println(useFunctionService.SayHello("java config")); context.close(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis-Plus 使用枚舉自動(dòng)關(guān)聯(lián)注入
本文主要介紹了MyBatis-Plus 使用枚舉自動(dòng)關(guān)聯(lián)注入,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Java編程實(shí)現(xiàn)中英混合字符串?dāng)?shù)組按首字母排序的方法
這篇文章主要介紹了Java編程實(shí)現(xiàn)中英混合字符串?dāng)?shù)組按首字母排序的方法,涉及Java字符串操作及拼音轉(zhuǎn)換的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Java8實(shí)現(xiàn)FTP及SFTP文件上傳下載
這篇文章主要介紹了Java8實(shí)現(xiàn)FTP及SFTP文件上傳下載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09SpringBoot中如何處理不同的類型的POST請(qǐng)求
在Web開(kāi)發(fā)中,POST請(qǐng)求是非常常見(jiàn)的,用于向服務(wù)器提交數(shù)據(jù),根據(jù)數(shù)據(jù)的編碼方式,POST請(qǐng)求可以分為form-data、x-www-form-urlencoded和raw三種類型,本文將介紹這三種請(qǐng)求方式的區(qū)別,并展示如何在Spring Boot中編寫代碼來(lái)處理它們,需要的朋友可以參考下2024-08-08攜程Apollo(阿波羅)安裝部署以及java整合實(shí)現(xiàn)
這篇文章主要介紹了攜程Apollo(阿波羅)安裝部署以及java整合實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)示例詳解
使用定時(shí)任務(wù)完成一些業(yè)務(wù)邏輯,比如天氣接口的數(shù)據(jù)獲取,定時(shí)發(fā)送短信,郵件。以及商城中每天用戶的限額,定時(shí)自動(dòng)收貨等等,這篇文章主要給大家介紹了關(guān)于SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)的相關(guān)資料,需要的朋友可以參考下2021-10-10mybatis.type-aliases-package的作用及用法說(shuō)明
這篇文章主要介紹了mybatis.type-aliases-package的作用及用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01