Spring基础_通过java代码装配bean<二>
来源:互联网 发布:网络吃鸡啥意思 编辑:程序博客网 时间:2024/06/06 09:00
上文:自动装配bean
1.CompactDisc.java
package one;//光盘接口public interface CompactDisc {void play();}
2.SgtPeppers.java
package one;//汪峰怒放的世界光盘public class SgtPeppers implements CompactDisc {private String title="怒放的世界";private String artist="汪峰";@Overridepublic void play() {System.out.println("playing"+title+"by"+artist);}}3.MediaPlayer.java
package one;//媒体播放器接口public interface MediaPlayer {void play();}4.CDPlayer.java
package one;//cd播放机实现媒体播放器接口public class CDPlayer implements MediaPlayer{private CompactDisc cd;public CDPlayer(CompactDisc cd){this.cd=cd;}@Overridepublic void play(){cd.play();}}5.CDplayerConfig.java
package one;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * @ Configuration注解表明这个类是一个配置类,该类应该包 *含在Spring应用上下文中如何创建bean的细节。 */@Configurationpublic class CDplayerConfig {/** * @ Bean注解会告诉Spring这个方法将会返回一个对象,该对象要注册为 * Spring应用上下文中的bean。方法体中包含了最终产生bean实例的逻辑。 * 默认情况下, bean的ID与带有@Bean注解的方法名是一样的。 */@Beanpublic CompactDisc sgtPeppers(){System.out.println("再执行2");return new SgtPeppers();}/*1.默认情况下, Spring中的bean都是单例的,我们并没有必要为第二个CDPlayer bean创建完全相同的 *SgtPeppers实例。所以, Spring会拦截对sgtPeppers()的调用并确保返回的是Spring所创建的bean,也就是 *Spring本身在调用sgtPeppers()时所创建的CompactDisc bean。因此,1和2两个CDPlayer bean会得到相同 *的SgtPeppers实例。*/@Beanpublic MediaPlayer cdPlayer(){System.out.println("先执行1");return new CDPlayer(sgtPeppers());}/*2.再创建一个cdplayer bean * @Beanpublic MediaPlayer anotherCdPlayer(){return new CDPlayer(sgtPeppers());}*///3.比较好理解的方式,同1一样的/*@Beanpublic MediaPlayer cdPlayer(CompactDisc comPactDisc){return new CDPlayer(comPactDisc);}*/}6.CDplayerTest.java
package one;import static org.junit.Assert.*;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=CDplayerConfig.class)public class CDplayerTest {@Autowiredprivate CompactDisc cd;@Autowiredprivate MediaPlayer player;@Testpublic void cdshouldBeNull(){assertNotNull(cd);}@Testpublic void play(){player.play();}}
阅读全文
0 0
- Spring基础_通过java代码装配bean<二>
- 通过Java代码装配bean【Spring 入门】
- Spring 如何通过 Java 代码装配 bean?
- 通过Java代码装配bean
- 通过java代码装配Bean
- Spring学习笔记之通过Java代码装配Bean
- Spring学习(七):通过Java代码装配bean
- 【Spring in action】自动化装配Bean、通过Java代码及xml装配Bean
- Spring学习笔记(三) --- 装配Bean之通过Java代码装配Bean
- Spring基础_自动装配bean<一>
- 装配Bean——通过java代码装配bean
- Spring基础—装配bean(二)
- Spring基础—装配bean(二)
- Spring基础—装配bean(二)
- Spring装配Bean——Java代码装配bean
- 七、通过Java代码装配bean
- spring 装配bean(二)
- Spring装配bean基础
- Android加入热修复报java.lang.UnsatisfiedLinkError: 解决方法
- eclipse自动生成变量名快捷键
- PAT --- 1015. 德才论 (25)
- 玩转 Windows 10 中的 Linux 子系统
- MongoDB:19-MongoDB-Map Reduce
- Spring基础_通过java代码装配bean<二>
- eclipse中文api下载链接 百度云
- CentOS7升级最新版本Docker
- 2676-3-7 类的友元函数的应用
- 缺少类型说明符
- js插件 leaflet插件库
- source insight配置
- Spark SQL简单操作演示(含导出表)
- 神奇的多级指针!(指针的嵌套)