Spring学习-----bean的装配(5)
来源:互联网 发布:淘宝卖家版下载 编辑:程序博客网 时间:2024/06/05 08:15
上一节中我们了解了bean对于集合的装配,可以看到,还是很简单的,总是总结这样的知识点,瞬时间自信心爆棚啊!好,下面我们来总结又一个简单的知识点,继承配置和通过构造函数来配置bean。
通过继承来配置bean
school.javapackage rogue.inherit;public class School {private String name;private String address;public String getName() { return name;}public void setName(String name) { this.name = name;}public String getAddress() { return address;}public void setAddress(String address) { this.address = address;}}
Student.java
package rogue.inherit; public class Student extends School{private String stuName;private int age;public String getStuName() { return stuName;}public void setStuName(String stuName) { this.stuName = stuName;}public int getAge() { return age;}public void setAge(int age) { this.age = age;}}
beans.xml
<bean id="school" class="rogue.inherit.School"> <property name="name" value="高水中学"/> <property name="address" value="大阪"/> </bean><bean id="student" parent ="school" class="rogue.inherit.Student"> <property name="stuName" value="王小明"/> <property name="age" value="10"/> </bean>
测试程序:
public static void main(String[] args) { ApplicationContext ac = new ClassPathXmlApplicationContext("rogue/inherit/beans.xml"); Student student = (Student) ac.getBean("student"); System.out.println(student.getStuName()+"是"+student.getAge()+"岁的学生,他的学校位于"+student.getAddress()); }
以上,我们都是利用set方式给bean注入值的,Spring还提供了通过构造函数给bean注入值,下面我们来说一下。
还以上面的Student.java为例,在beans.xml做如下配置
<bean id="student2" class="rogue.inherit.Student"> <constructor-arg index="0" type="java.lang.String" value="小樱"> <constructor-arg index="1" type="int" value="10"></bean>
这样,我们就得到了一个实例对象。当然,前提是在Student.java 里面必须有这样有两个参数的构造函数才可以成功。
通过以上的讲解,我们大体上了解了利用set和构造函数来配置bean的方式。set注入的缺点是无法清晰表达哪些属性是必须的,哪些属性是可选的。比如说,student这个bean中有age、name、address三个属性,我用set的方式可以配置这三个中的任意几个,这样就导致了如果我们需要配置两个属性但是实际上却只配置了一个,这样也不会报错。构造函数注入的优势是通过构造强制依赖关系,不可能实例化不完全的或无法使用的bean。就是说,有什么样的构造函数就必须只能那样配置,参数个数和类型必须要匹配。
1 0
- Spring学习-----bean的装配(5)
- Spring学习----Bean的装配(4)
- Spring学习-----bean的装配(6)
- Spring学习(2)------bean的装配
- Spring 4.0 学习日记(5) ---bean的自动装配
- Spring框架学习第二讲(Spring的bean装配)
- Spring学习-装配Bean
- Spring学习-装配Bean
- Spring学习之Bean的自动装配(非注解)
- Spring学习:bean的自动装配(注解)
- Spring学习(四)-Bean的三种装配方式
- Spring学习笔记之Bean的装配
- spring学习-2 Bean的装配
- Spring学习之Bean的装配
- Spring-Bean的装配
- Spring-bean的装配
- Spring的Bean装配
- spring bean的装配
- android 项目经常用到的BroadCastReceiver,通知界面刷新,传值等
- LNMP环境下安装DiscuzX3.3
- 直接映射,组相连映射以及全相连映射
- 今天开通了博客,希望督促自己养成写笔记的习惯,同时也记录自己成长之路
- 在Zynq 7000平台上使用Linux spidev.c驱动,调试spi设备
- Spring学习-----bean的装配(5)
- 安装虚拟机时想到的一些关于IP地址及网络连接方式问题
- 【计算机操作系统】先来先服务FCFS和短作业优先SJF进程调度算法
- 安卓学习记录--引导页底部跟随小圆点
- Scrapy爬虫实战(三)----------使用cookies爬取51job
- SSM框架搭建,及遇到的问题
- Hadoop新MapReduce框架Yarn详解
- 分布式企业应用系统服务部署和配置
- SSH小框架笔记