springboot java配置注解注入Bean

服務(wù)

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

調(diào)用

public class UseFunctionService{
    FunctionService functionService;
    //注入成功
    public void setFunctionService(FunctionService functionService){
        this.functionService = functionService;
    }
    //這個相當于調(diào)用工具,調(diào)用sayHello的實現(xiàn)
    public String sayHello(){
        return functionService.sayHello();
    }
}

這就相當于是一個XML配置,注入了兩個Bean

@Configuration
public class JavaConfig{
    //這個相當于是get方法了,給這個返回的對象添加上注解,那么這個FunctionService就是一個Bean了
    @Bean //2
    public FunctionService functionService (){
        return new FunctionService();
    }

    @Bean
    public UseFunctionService useFunctionService(){
        //初始化
        UseFunctionService useFunctionService = new useFunctionService();
        //將useFunctionService中需要用到的FunctionService注入
        useFunctionService.setFunctionService(functionService ());
        //將useFunctionService返回
        return useFunctionService;
    }   
}

java配置是spring4.X所推薦的配置方式 像上面兩個Bean 就是用JavaConfig用作配置文件來加載

加載方法:
//這是掃描配置文件方法

ApplicationContext application = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-solr.xml");

//這是Java配置的方法

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);

使用@Configuration注解表明當前類是一個java配置類,這意味著這個類中可能有0個或者多個@bean注解,這里我們就沒用包掃描,因為所有的bean一共就兩個,都在這個類中定義了
另外一種注入方式.如上,一個Bean中調(diào)用另外一個Bean,只要這個Bean被聲明過了,那么他就可以在別的類中以參數(shù)注入

### 使用@Bean注解聲明當前方法FunctionService的返回值是一個Bean,Bean的名稱就是方法名

這就是java中Bean的配置


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容