一、前言

本文承接上一节: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);
} }

最新文章

  1. 获取json数据
  2. 改写百度云推送SDK,PHP PEAR 包:Services_Baidu_Push
  3. linux中无 conio.h的解决办法
  4. 怒刷DP之 HDU 1260
  5. Java架构师之路:JAVA程序员必看的15本书
  6. jQuery树结构插件推荐zTree
  7. 句柄(Handle)
  8. 打造简易可扩展的jQuery/CSS3 Tab菜单
  9. reshape2 数据操作 数据融合 (melt)
  10. android开发用无线网络进行Android开发中的调试
  11. 基于pytorch实现HighWay Networks之Highway Networks详解
  12. 【玩转开源】BananaPi R2——移植RPi.GPIO 到 R2
  13. window开发环境常用操作
  14. Task任务的屏障机制
  15. CZT变换(chirp z-transform)
  16. Chrome 调试技巧: 调整网速
  17. Win10系统安装过程小记
  18. java编译需要文件后缀名.java 而运行不需要后缀名.class
  19. 2018.09.16 atcoder Garbage Collector(贪心)
  20. Docker笔记:常用命令汇总

热门文章

  1. Ubuntu Server 16.04安装xfce4图形界面远程控制
  2. Educational Codeforces Round 29(6/7)
  3. 对称加密,API加密
  4. iOS objc_setAssociatedObject 关联对象的学习
  5. SOA和微服务之间的区别
  6. HibernateQL
  7. HttpServlet---getLastModified与缓存
  8. 三 ip dns等配置
  9. CoreData的基本操作
  10. Java 封装、继承、多态