spring Java Config代码配置bean

package zhl.soundsystem;

public interface MediaPlayer {

  void play();

}


package zhl.soundsystem;
import org.springframework.beans.factory.annotation.Autowired;

public class CDPlayer implements MediaPlayer {
  private CompactDisc cd;

  public CDPlayer(CompactDisc cd) {
    this.cd = cd;
  }

  public void play() {
    cd.play();
  }

}

package zhl.soundsystem;

public interface CompactDisc {

  void play();

}


package zhl.soundsystem;


public class SgtPeppers implements CompactDisc {

  public void play() {
    System.out.println("Playing SgtPeppers play");
  }

}


package zhl.soundsystem;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan(basePackages = "zhl.soundsystem")
public class CDPlayerConfig {
  
  @Bean
  public CompactDisc compactDisc() {
    return new SgtPeppers();
  }
  
  @Bean
  public CDPlayer cdPlayer(CompactDisc compactDisc) {
    return new CDPlayer(compactDisc);
  }

}


package zhl.soundsystem;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class App 
{
    public static void main( String[] args )
    {
    	AnnotationConfigApplicationContext tx = new AnnotationConfigApplicationContext(CDPlayerConfig.class);
    	CDPlayer cdPlayer = (CDPlayer)tx.getBean(CDPlayer.class);
    	if(cdPlayer != null) {
    		cdPlayer.play();
    	}
    	else {
    		System.out.println("cdPlayer is null");
    	}
    	
    	tx.close();
    }
}

参考Spring实战第四版,使用Java代码配置bean,这种方法也比较灵活方便,在使用第三方库的时候,如果无法对第三方库进行修改,可以很方便的使用此方法进行bean的配置

getNameType 默认是@Bean对应的函数名,可以@Bean(“xxxName”)进行设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: SpringJavaConfig配置是一种替代XML配置的方式,它允许开发者将bean定义和Spring配置从XML文件转移到Java类中。从Spring 3开始,JavaConfig功能已经包含在Spring核心模块中。在JavaConfig中,可以使用@Configuration注解来标识一个类为核心的Spring配置文件,并使用@Bean注解来定义bean。例如,在JavaConfig中可以使用@Configuration注解标识一个类为核心的Spring配置文件,并使用@Bean注解定义一个名为helloWorld的bean。\[1\]\[2\]在JavaConfig中,可以使用注解来实现属性注入。例如,可以使用@Value注解来给属性赋值。在JavaConfig中,可以使用@Bean注解来创建一个User对象,并将其作为bean进行管理。\[3\] #### 引用[.reference_title] - *1* *2* [Spring(九)SpringjavaConfig配置](https://blog.csdn.net/qq_36675851/article/details/88706323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Spring入门理解(七)JavaConfig实现配置](https://blog.csdn.net/heng000000/article/details/123760017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值