spring IoC---java配置方式的依赖注入

一、java配置简介

java配置是spring4.x推荐的配置方式,可以完全替代xml配置。java配置也是spring boot推荐的配置方式。

java配置是通过注解@Configuration和@Bean来实现的:

  • @Configuration声明当前类是一个配置类,相当于spring配置的xml文件
  • @Bean 注解在方法上,声明当前方法的返回值为一个Bean,相当于xml配置中的<bean>

二、二话不多说,直接上代码

FunctionService.java

package javaConfig;

public class FunctionService {
    
    public String sayHello(String word){
        return " Hello " + word + " ! ";
    }
}

UseFucntionService.java

package javaConfig;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UseFunctionService {
    @Autowired
    FunctionService functionService;

    
    public void setFunctionService(FunctionService functionService) {
        this.functionService = functionService;
    }
    
    public String sayHello(String word){
        return functionService.sayHello(word);
    }
}

JavaConfig.java ---相当于xml配置文件

package javaConfig;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;


@Configuration
@ComponentScan("javaConfig")
public class JavaConfig {
    @Bean
    public FunctionService functionService(){
        return new FunctionService();
    }
}

测试类Main.java

package javaConfig;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
    
    public static void main(String[] args){
        
        AnnotationConfigApplicationContext acac = new AnnotationConfigApplicationContext(JavaConfig.class);
        
        UseFunctionService useFunctionService = acac.getBean(UseFunctionService.class);
        
        System.out.println(useFunctionService.sayHello("java config"));
        
        acac.close();
    }
}

猜你喜欢

转载自www.cnblogs.com/chyxhzh/p/10193930.html