SpringBoot之Java配置的实现
Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式。
Java配置是通过@Configuation和@Bean来实现的:
1、@Configuation注解,说明此类是配置类,相当于Spring的XML方式
2、@Bean注解,注解在方法上,当前方法返回的是一个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作为参数直接传入UseFunctionService。在spring容器中,只要在容器中存在一个Bean,就可已在另一个Bean的声明方法的参数中直接使用。
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();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
SpringCloud组件OpenFeign之默认HTTP请求方式详解
这篇文章主要介绍了SpringCloud组件OpenFeign之默认HTTP请求方式详解,在SpringMvcContract类中有个这样的方法processAnnotationOnMethod,见名思意,这个方法就是处理Feign接口下方法上的注解的,需要的朋友可以参考下2024-01-01
SpringBoot+Redis BitMap实现签到与统计的项目实践
最近项目里需要集成签到和统计功能,连续签到后会给用户发放一些优惠券和奖品,以此来吸引用户持续在该品台进行活跃,本文就详细的介绍一下如何实现,感兴趣的可以了解一下2023-09-09
解决JSONObject.toJSONString()输出null的问题
这篇文章主要介绍了解决JSONObject.toJSONString()输出null的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02


最新评论