Spring_总结_03_装配Bean之Java配置

Posted shirui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring_总结_03_装配Bean之Java配置相关的知识,希望对你有一定的参考价值。

一、前言

本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配

上一节提到,装配Bean有三种方式,首先推荐自动装配。当自动装配行不通时,就需要采用显示配置的方式了。

显示配置有两种方案:Java 和 XML。当需要显示配置时,首选类型安全并且比XML更强大Java配置。

 

二、Java配置

实现Java配置只需两步:

(1)使用@Configuration声明一个配置类

(2)在配置类中使用@Bean声明一个Bean,同时可通过方法名注入bean。

 

三、Java配置实例

技术分享图片
package com.ray.blog.smartblog.service;

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

/**
 * @author : shira
 * @date : 2018/7/27
 * @time : 21:21
 * @desc :
 **/


@Configuration  //1.声明配置类
public class CDPlayerConfig {


    @Bean   //2.1 声明一个bean,spring会将其注册为上下文中的bean。bean的名称默认为方法名
    public ComPactDisc comPactDisc(){
        return new ComPactDisc();
    }

    @Bean(name = "comPactDisc3")   //2.2 可通过name属性指定bean的名称
    public ComPactDisc comPactDisc2(){
        return new ComPactDisc();
    }


    @Bean
    public CDPlayer cdPlayer(){
       return new CDPlayer(comPactDisc());    //3.1通过引用创建bean的方法来注入bean。默认情况下,Spring中的bean都是单例的。
    }

    @Bean
    public CDPlayer cdPlayer2(ComPactDisc comPactDisc){  //3.2 通过bean的名称注入bean。在Spring容器中,只要容器中存在某个bean,就可以在另外一个bean的声明方法的参数中注入
        return new CDPlayer(comPactDisc);
    }

    
}
View Code

 

以上是关于Spring_总结_03_装配Bean之Java配置的主要内容,如果未能解决你的问题,请参考以下文章

Spring_总结_03_装配Bean之XML配置

Spring_总结_03_装配Bean之导入与混合配置

Spring_总结_04_高级配置之处理歧义

spring_06装配bean_2

Spring__bean的装配

Spring_总结_04_高级配置_运行时注入值