Bean的属性注入
来源:互联网 发布:住宅施工工艺优化 编辑:程序博客网 时间:2024/05/18 05:02
一般来说javaBean对象的属性大多设为私有的,同时也配有相应的get和set方法。那么spring就可以借助其set方法,为其属性注入相应的值
新建一个班级类:
public class Class { private String name = "testClass"; public String getName() { return name; }}新建一个学生类:
public class Student { private String name; private Class stuClass; public String getName() { return name; } public void setName(String name) { this.name = name; } public Class getStuClass() { return stuClass; } public void setStuClass(Class stuClass) { this.stuClass = stuClass; }}在spring的配置文档当中可以利用<property>元素配置bean的属性。
①如果为bean注入简单的值,比如说字符串,数字等,可以直接为<property>设置value属性。
②如果为bean注入对象,引用其他bean。那么可以为<property>设置ref属性,其值就是其他bean的id值。(ref注入,也可以改为<property>的内部bean)
③spring还提供了命名空间p来替代<property>为bean注入属性。想使用命名空间p,需要在配置中增加xmlns:p="http://www.springframework.org/schema/p"
具体的配置例子如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="tClass" class="com.test.beanSet.Class"/> <!-- property注入属性,如果是引用对象,那么可以利用ref来注入 --> <bean id="tStudent" class="com.test.beanSet.Student"> <property name="name" value="Xiao Ming"/> <property name="stuClass" ref="tClass"/> </bean> <!-- 除了ref注入对象,还可以直接在property中配置内部bean --> <bean id="tStudent2" class="com.test.beanSet.Student"> <property name="name" value="Xiao Hong"/> <property name="stuClass"> <bean class="com.test.beanSet.Class"/> </property> </bean> <!-- 另外可以使用命名空间p来替代property --> <bean id="tStudent3" class="com.test.beanSet.Student" p:name="Xiao Li" p:stuClass-ref="tClass"/></beans>测试代码:
public class BeanSetApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("testBeanSet.xml"); Student tStudent = (Student) context.getBean("tStudent"); System.out.println(tStudent.getName()); System.out.println(tStudent.getStuClass().getName()); Student tStudent2 = (Student) context.getBean("tStudent2"); System.out.println(tStudent2.getName()); System.out.println(tStudent2.getStuClass().getName()); Student student3 = (Student) context.getBean("tStudent3"); System.out.println(student3.getName()); System.out.println(student3.getStuClass().getName()); }}运行结果:
Xiao MingtestClassXiao HongtestClassXiao LitestClass
0 0
- bean属性的注入
- Bean的属性注入
- Spring属性注入Bean的List属性
- Spring 之 Bean的属性注入
- bean的加载(十)属性注入
- Spring中Bean的简单属性注入
- Spring中Bean的复杂属性注入
- spring 依赖注入bean的属性
- [Spring] 注入Bean属性
- bean属性注入
- 1.Spring bean常见属性的注入:bean
- bean标签的属性和spring属性注入
- Spring3.x--注入Bean属性
- spring bean setter属性注入
- spring bean setter属性注入
- bean注入复杂类型属性
- 五、Spring容器中Bean的属性值的注入
- Spring的属性注入到bean实例的细节
- 微信开发学习总结-2
- hibernate 多对多(many-to-many)
- scala读取hbase
- 在IOS上捕获视频
- Android开发之NFC介绍及应用
- Bean的属性注入
- leetcode -- Single Number -- 重点--位运算
- rpc调用
- Redis中5种数据结构的使用场景介绍
- js实现继承的5种方式
- hadoop执行jar流程分析
- C# 中怎样去除DataTable表里面的重复行
- MySQL的information_schema的介绍
- Google推荐的图片加载库Glide介绍