美文网首页JavaJava 杂谈
SpringBoot之Java配置的实现

SpringBoot之Java配置的实现

作者: cd4bd3aa39ec | 来源:发表于2019-05-08 15:32 被阅读1次

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

以上就是本文的全部内容,希望对大家的学习有所帮助

相关文章

网友评论

    本文标题:SpringBoot之Java配置的实现

    本文链接:https://www.haomeiwen.com/subject/dmpmoqtx.html