欢迎来到天天文库
浏览记录
ID:39468379
大小:63.50 KB
页数:7页
时间:2019-07-04
《Spring实战——通过Java代码装配bean》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Spring实战——通过Java代码装配bean 基于注解的自动化注入固然优雅,但是它也有鞭长莫及的时候,这时候就来看看Java代码如何装配bean的。 还记的上篇的配置类CDPlayerConfig是长这样的@Configuration@ComponentScanpublicclassCDPlayerConfig{} 有了这个万能的组件扫描注解,一切都是那么只能,只需要在bean类上加上如@Component注解,Spring就会自动为该类创建相应的bean类。 但是现在因为我们有一些第三方类库,我们没办法去深入类中加上这些标记了,所以@ComponentScan就失去了威力
2、和意义。 这篇的CDPlayerConfig应该长这样@ConfigurationpublicclassCDPlayerConfig{} @Configuration注解表示该类是一个配置类。显然要创建的bean的信息是要放到这个类中的。 基于其他类以及类中的方法不变比如CompactDisc,CDPlayer,SgtPeppers等。编写测试方法如下@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=CDPlayerConfig.class)publicclassCDPlayerTest{@R
3、ulepublicfinalStandardOutputStreamLoglog=newStandardOutputStreamLog();@AutowiredprivateMediaPlayerplayer;@AutowiredprivateCompactDisccd;@TestpublicvoidcdShouldNotBeNull(){assertNotNull(cd);}@Testpublicvoidplay(){player.play();assertEquals("PlayingSgt.Pepper'sLonelyHeartsClubBandbyTheBeatlesr"
4、,log.getLog());}} 首先从代码来看就会出现如下的注入错误 这里显示MediaPlayer无法注入。同时运行程序得到结果如下Testingstartedat0:20...0:20:03:Executingexternaltasks'cleanTesttest'...:cleanTest:compileJava:processResourcesUP-TO-DATE:classes:compileTestJava:processTestResourcesUP-TO-DATE:testClasses:test一月15,201712:20:06上午org.springfram
5、ework.test.context.TestContextManagerretrieveTestExecutionListeners信息:CouldnotinstantiateTestExecutionListener[org.springframework.test.context.web.ServletTestExecutionListener].Specifycustomlistenerclassesormakethedefaultlistenerclasses(andtheirrequireddependencies)available.Offendingclass:[jav
6、ax/servlet/ServletContext]一月15,201712:20:06上午org.springframework.test.context.TestContextManagerretrieveTestExecutionListeners信息:CouldnotinstantiateTestExecutionListener[org.springframework.test.context.transaction.TransactionalTestExecutionListener].Specifycustomlistenerclassesormakethedefaultl
7、istenerclasses(andtheirrequireddependencies)available.Offendingclass:[org/springframework/transaction/interceptor/TransactionAttributeSource]一月15,201712:20:06上午org.springframework.context.support.GenericApplicationContextpre
此文档下载收益归作者所有