SpringBoot之Java配置的實(shí)現(xiàn)
Java配置也是Spring4.0推薦的配置方式,完全可以取代XML的配置方式,也是SpringBoot推薦的方式。
Java配置是通過@Configuation和@Bean來實(shí)現(xiàn)的:
1、@Configuation注解,說明此類是配置類,相當(dāng)于Spring的XML方式
2、@Bean注解,注解在方法上,當(dāng)前方法返回的是一個Bean
eg:
此類沒有使用@Service等注解方式
package com.wisely.heighlight_spring4.ch1.javaconfig; public class FunctionService { public String sayHello(String world) { return "Hello " + world + "!"; } }
此類沒有使用@Service注解lei,也沒有使用@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注解說明此類是一個配置類
2、使用@Bean注解的方式注解在方法上,返回一個實(shí)體Bean,Bean的名稱是方法名。
3、注入FunctionService的Bean的時候,可以直接使用functionService方法。
4、注解將functionService作為參數(shù)直接傳入UseFunctionService。在spring容器中,只要在容器中存在一個Bean,就可已在另一個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; } }
測試類:
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(); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis-Plus 使用枚舉自動關(guān)聯(lián)注入
本文主要介紹了MyBatis-Plus 使用枚舉自動關(guān)聯(lián)注入,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11Java8實(shí)現(xiàn)FTP及SFTP文件上傳下載
這篇文章主要介紹了Java8實(shí)現(xiàn)FTP及SFTP文件上傳下載,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09攜程Apollo(阿波羅)安裝部署以及java整合實(shí)現(xiàn)
這篇文章主要介紹了攜程Apollo(阿波羅)安裝部署以及java整合實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08SpringBoot如何實(shí)現(xiàn)定時任務(wù)示例詳解
使用定時任務(wù)完成一些業(yè)務(wù)邏輯,比如天氣接口的數(shù)據(jù)獲取,定時發(fā)送短信,郵件。以及商城中每天用戶的限額,定時自動收貨等等,這篇文章主要給大家介紹了關(guān)于SpringBoot如何實(shí)現(xiàn)定時任務(wù)的相關(guān)資料,需要的朋友可以參考下2021-10-10mybatis.type-aliases-package的作用及用法說明
這篇文章主要介紹了mybatis.type-aliases-package的作用及用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01