首页 > 学院 > 开发设计 > 正文

【Spring 核心】装配Bean(一) 自动化装配

2019-11-08 02:20:40
字体:
来源:转载
供稿:网友

SPRing从两个角度实现自动化装配:组件扫描 (Spring自动发现应用上下文中所创建的bean)自动装配(autowiring)自动满足bean之间的依赖

组件扫描:

package test.soundsystem;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import test.voice.Book;/* * 使用basePackageClasses,spring会自动扫描这些类所在的包, * 建议在包中写空标记接口,用来被扫描,有利于项目重构。 *  * */@Configuration@ComponentScan(basePackageClasses={Book.class,CompactDisc.class})public class CDPlayerConfig {}接口:

package test.soundsystem;public interface CompactDisc {	void play();}实现类:

package test.soundsystem;import javax.inject.Named;//Named 和 Component相似@Namedpublic class SgtPeppers implements CompactDisc {	private String title="Sgt. Pepper's Lonely Hearts Club Band";	private String artist = "The Beatles";	public void play() {		System.out.println("Playing "+title+" by "+artist);	}}测试类:

package test.soundsystem;import javax.inject.Inject;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;import test.voice.Book;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=CDPlayerConfig.class)public class CDPlayerTest {	@Autowired	private CompactDisc cd;		@Inject	private Book book;		@Test	public void cdShouldNotBeNull(){		cd.play();		book.read();	}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表