SpringBoot之Java配置的實現(xiàn)
Java配置也是Spring4.0推薦的配置方式,完全可以取代XML的配置方式,也是SpringBoot推薦的方式。
Java配置是通過@Configuation和@Bean來實現(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注解的方式注解在方法上,返回一個實體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)注入,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06
Java編程實現(xiàn)中英混合字符串?dāng)?shù)組按首字母排序的方法
這篇文章主要介紹了Java編程實現(xiàn)中英混合字符串?dāng)?shù)組按首字母排序的方法,涉及Java字符串操作及拼音轉(zhuǎn)換的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
攜程Apollo(阿波羅)安裝部署以及java整合實現(xiàn)
這篇文章主要介紹了攜程Apollo(阿波羅)安裝部署以及java整合實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
SpringBoot如何實現(xiàn)定時任務(wù)示例詳解
使用定時任務(wù)完成一些業(yè)務(wù)邏輯,比如天氣接口的數(shù)據(jù)獲取,定時發(fā)送短信,郵件。以及商城中每天用戶的限額,定時自動收貨等等,這篇文章主要給大家介紹了關(guān)于SpringBoot如何實現(xiàn)定時任務(wù)的相關(guān)資料,需要的朋友可以參考下2021-10-10
mybatis.type-aliases-package的作用及用法說明
這篇文章主要介紹了mybatis.type-aliases-package的作用及用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

