Spring之路(13)--在JavaConfig配置中装配bean
2020/1/31 17:37:55
本文主要是介绍Spring之路(13)--在JavaConfig配置中装配bean,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
概述
与注解配置类似,JavaConfig中也是自动装配Bean,同样可以按类型或者按名称自动装配,相信如果您对前面xml和注解方式已经比较了解的话,本篇就不用赘述太多了,此处直接上代码,需要讲解的会在注释中给出。
按类型自动装配实例
干干净净的歌手类、舞者类、舞台类
由于注入工作是在javaconfig中完成,所以类上无须添加特殊信息。
package org.maoge.javaconfigssemble; //普通歌手类 public class Singer { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
package org.maoge.javaconfigssemble; //普通舞者类 public class Dancer { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
package org.maoge.javaconfigssemble; //普通舞台类 public class Stage { private Singer singer; private Dancer dancer; public Singer getSinger() { return singer; } public void setSinger(Singer singer) { this.singer = singer; } public Dancer getDancer() { return dancer; } public void setDancer(Dancer dancer) { this.dancer = dancer; } }
配置bean并自动装配
package org.maoge.javaconfigssemble; import org.springframework.beans.factory.annotation.Autowire; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration // 该类是一个配置类,Spring需要扫描该类中bean public class BeanConfiguration { @Bean // 生成一个命名为daolang的bean public Singer daolang() { Singer singer = new Singer(); singer.setName("刀郎"); return singer; } @Bean // 生成一个命名为liujia的bean public Dancer liujia() { Dancer dancer = new Dancer(); dancer.setName("刘迦"); return dancer; } @Bean(autowire = Autowire.BY_TYPE) // 指定按类型自动装配该bean public Stage stage() { Stage stage = new Stage(); return stage; } }
测试
package org.maoge.javaconfigssemble; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(BeanConfiguration.class); Stage stage = (Stage) context.getBean("stage"); System.out.println(stage.getSinger().getName()); System.out.println(stage.getDancer().getName()); } }
上面代码成功输入如下,证明按类型自动装配成功。
刀郎 刘迦
按名称自动装配
我们将装配方式改为:@Bean(autowire = Autowire.BY_NAME)
按名称,运行主类提示空指针,那是因为我们生成的bean命名分别为daolang、liujia,但是我们Stage类中的属性名称为singer、dancer,所以无法按名称自动装配。
我们可以将bean的id改为singer、dancer,或者将State类的属性改为daolang、liujia,这样名字匹配后,就可以自动装配了。
此处过于简单,不在具体出示代码。
总结
装配确实比较繁琐,所以这三个章节我写起来也比较烦啊,但是这是Spring的基础,还是要在理解的基础上掌握吧。
为了让大家对Spring有一个全面的了解,我一直是同时介绍xml、注解、JavaConfig三种方式,因为我自己在学习的过程中发现,如果不对三种方式有一个全面的了解,经常会读不懂别人的代码,也读不懂自己公司的项目。
哈哈,其实就是三种具体实现方式,多写写就适应了。
这篇关于Spring之路(13)--在JavaConfig配置中装配bean的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南