本文共 2701 字,大约阅读时间需要 9 分钟。
package net.zjs.spring.lesson04;/** * 功能:杀龙任务类 * 作者:zjs * 时间:2021/3/24 */public class SlayDragonQuest { public void embark(){ System.out.println("执行杀龙任务"); }}
package net.zjs.spring.lesson04;/** * 功能:勇敢骑士类 * 作者:zjs * 时间:2021/3/24 */public class BraveKnight { private SlayDragonQuest slayDragonQuest; public void setSlayDragonQuest(SlayDragonQuest slayDragonQuest){ this.slayDragonQuest=slayDragonQuest; } public void embarkOnQuest(){ slayDragonQuest.embark(); }}
package net.zjs.spring.lesson04;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * 功能:Spring配置类 * 作者:zjs * 时间:2021/3/24 *//*在java配置类中创建Bean*/@Configuration //标明是spring配置类public class SpringConfig { @Bean //基于SlayDragonQuest类创建名为slayDragonQuest的Bean public SlayDragonQuest slayDragonQuest(){ //方法的名称即为之前spring-config.xml中的id名称 return new SlayDragonQuest(); } @Bean("Mike") //基于BraveKnight类创建名为braveKnight的Bean public BraveKnight braveKnight(){ //运用java代码实现装配 BraveKnight braveKnight=new BraveKnight(); braveKnight.setSlayDragonQuest(slayDragonQuest()); return braveKnight; }}
papackage net.zjs.spring.lesson04;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.springframework.context.annotation.AnnotationConfigApplicationContext;/** * 功能:测试骑士类 * 作者:zjs * 时间:2021/3/24 */public class TestKnight { private AnnotationConfigApplicationContext context;//基于注解配置类的应用容器 @Before public void init(){ //基于注解配置创建应用容器 context=new AnnotationConfigApplicationContext(SpringConfig.class); } @Test public void testBraveKnight() { //根据名称从应用容器里获取勇敢骑士对象 BraveKnight knight= (BraveKnight) context.getBean("Mike"); // 勇敢骑士执行任务 knight.embarkOnQuest(); } @After public void destroy() { // 关闭应用容器 context.close(); }}}
转载地址:http://wntki.baihongyu.com/