第2章 装配Bean---@Autowired注解---笔记2

来源:互联网 发布:手机语言翻译软件 编辑:程序博客网 时间:2024/06/16 14:30

概述:

用的广泛的注解@Autowired

1.可以用于到字段上

2.setter方法上

3.构造方法上

直接上代码

package learn.chapter2;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Componentpublic class GirlSong {//@Autowiredprivate CompactDisc compactDisc;@Autowiredpublic GirlSong(CompactDisc compactDisc) {this.compactDisc = compactDisc;}public CompactDisc getCompactDisc() {return compactDisc;}//@Autowiredpublic void setCompactDisc(CompactDisc compactDisc) {this.compactDisc = compactDisc;}}

测试代码

package learn.chapter;import static org.junit.Assert.assertNotNull;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 learn.chapter2.CDPlayerConfig;import learn.chapter2.GirlSong;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=CDPlayerConfig.class)public class AutowiredTest {@Autowiredprivate GirlSong girlSong;@Testpublic void CompactDiscIsNotNull(){assertNotNull(girlSong.getCompactDisc());}}

总结:你可以依次注释字段、构造方法,setter的方法上的@Autowired,都可以注入, @ContextConfiguration()加载java配置文件

@Autowired(required=false) 有个默认属性 required 如果为false如果没有候选者,将会不会注入,也不会报错,这样很危险,所以它默认是required=true

原创粉丝点击