首页 > 编程 > Java > 正文

SpringBoot之Java配置的实现

2019-11-26 09:18:02
字体:
来源:转载
供稿:网友

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;@Configurationpublic 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();  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表