SpringBoot之Java配置的实现
Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式。
Java配置是通过@Configuation和@Bean来实现的:
1、@Configuation注解,说明此类是配置类,相当于Spring的XML方式
2、@Bean注解,注解在方法上,当前方法返回的是一个Bean
eg:
此类没有使用@Service等注解方式
packagecom.wisely.heighlight_spring4.ch1.javaconfig;
publicclassFunctionService{
publicStringsayHello(Stringworld){
return"Hello"+world+"!";
}
}
此类没有使用@Service注解lei,也没有使用@Autowire注入Bean
packagecom.wisely.heighlight_spring4.ch1.javaconfig;
publicclassUseFunctionService{
FunctionServicefunctionService;
publicvoidsetFunctionService(FunctionServicefunctionService){
this.functionService=functionService;
}
publicStringSayHello(Stringworld){
returnfunctionService.sayHello(world);
}
}
1、使用@Configuation注解说明此类是一个配置类
2、使用@Bean注解的方式注解在方法上,返回一个实体Bean,Bean的名称是方法名。
3、注入FunctionService的Bean的时候,可以直接使用functionService方法。
4、注解将functionService作为参数直接传入UseFunctionService。在spring容器中,只要在容器中存在一个Bean,就可已在另一个Bean的声明方法的参数中直接使用。
packagecom.wisely.heighlight_spring4.ch1.javaconfig;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
@Configuration
publicclassJavaConfig{
@Bean
publicFunctionServicefunctionService(){
returnnewFunctionService();
}
@Bean
publicUseFunctionServiceuseFunctionService(){
UseFunctionServiceuseFunctionService=newUseFunctionService();
useFunctionService.setFunctionService(functionService());
returnuseFunctionService;
}
@Bean
publicUseFunctionServiceuseFunctionService(FunctionServicefunctionService){
UseFunctionServiceuseFunctionService=newUseFunctionService();
useFunctionService.setFunctionService(functionService);
returnuseFunctionService;
}
}
测试类:
packagecom.wisely.heighlight_spring4.ch1.javaconfig;
importorg.springframework.context.annotation.AnnotationConfigApplicationContext;
publicclassMain{
publicstaticvoidmain(String[]args){
AnnotationConfigApplicationContextcontext=newAnnotationConfigApplicationContext(JavaConfig.class);
UseFunctionServiceuseFunctionService=context.getBean(UseFunctionService.class);
System.out.println(useFunctionService.SayHello("javaconfig"));
context.close();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。