欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot之Java配置的实现

程序员文章站 2024-02-21 23:59:10
java配置也是spring4.0推荐的配置方式,完全可以取代xml的配置方式,也是springboot推荐的方式。 java配置是通过@configuation和@be...

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

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