Spring用bean.xml注入对象
来源:互联网 发布:收割机无人机知乎 编辑:程序博客网 时间:2024/05/23 23:10
Spring的对象注入
写一个类
public class Circle { @Override public String toString() { return "Circle [radius=" + radius + "]"; } private double radius; public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public Circle() { super(); }}
再创建一个bean.xml类
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- //此行在调用加载时会创建一个Circle 一个bean节点对应一个对象为单例,下次再调用时依然还是以前创建的对象。执行的为为无参的构造方法 --> <bean id="circle " class="com.bean.Circle" /> <!-- 也可以给对象属性设值 在类中一定要写set方法--> <bean id="circle2" class="com.bean.Circle"> <property name="radius" value="2.0"></property> </bean> <!-- 可以使用上个对象的值 不过要先加载上个对象 --> <bean id="circle3" class="com.bean.Circle"> <property name="radius" value="#{circle2.radius+1}"></property> </bean></beans>
在代码中如何实现
@Test public void CircleTest(){ Circle circle= (Circle) new ClassPathXmlApplicationContext("bean.xml").getBean("circle"); circle.setRadius(12); System.out.println(circle); Circle circle2= (Circle) new ClassPathXmlApplicationContext("bean.xml").getBean("circle2"); System.out.println(circle2); Circle circle3= (Circle) new ClassPathXmlApplicationContext("bean.xml").getBean("circle3"); System.out.println(circle3); }
当类中的属性有引用类型
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 当属性是引用类型时 用值用 ref --> <bean id="xiaoming" class="com.bean.Student"> <property name="id" value="1"></property> <property name="name" value="xiaoming"></property> <property name="score" value="78"></property> <property name="birthday" ref="birthday"></property> </bean> <bean id="birthday" class="com.bean.BirthDay"> <property name="year" value="1994"></property> <property name="month" value="03"></property> <property name="day" value="15"></property> </bean> </beans>
特殊属性如List Set 等
<bean id="myColl" class="com.phone1000.je1702.sp03.MyCollection"> <property name="array"> <array> <value>zhangsan</value> <value>zhaoziqiang</value> <value>xiazenghao</value> <value>hejiangtao</value> <value>wucaibing</value> <value>chenjianjian</value> <value>hushengli</value> </array> </property> <property name="list"> <list> <value>wangjishen</value> <value>hexiangyi</value> <value>wanghailin</value> <value>lizhiyang</value> </list> </property> <property name="set"> <set> <value>zhangruixuan</value> <value>yangyubing</value> <value>changzhongbo</value> <value>zhoujunfeng</value> </set> </property> <property name="map"> <map> <entry key="banzhang" value="zhangjiandong"></entry> <entry key="xuewei" value="changzhongbo"></entry> <entry key="laowei" value="hushengli"></entry> <entry key="kongwei" value="xujinxin"></entry> </map> </property> <property name="props"> <props> <prop key="driver">mysqldriver</prop> <prop key="url">mysqlurl</prop> <prop key="username">root</prop> <prop key="password">root</prop> </props> </property> </bean>
有参构造
<?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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- <bean id="emp" class="com.sp05.Employee"> <constructor-arg name="sex" value="boy" /> <constructor-arg name="dept" ref="dept" /> <constructor-arg name="name" value="zhang"/> <constructor-arg name="salary" value="10000" /> </bean> --> <!-- <bean id="emp" class="com.sp05.Employee"> <constructor-arg name="name" value="zhang"/> <constructor-arg name="salary" value="10000" /> <constructor-arg name="sex" value="boy" /> <constructor-arg name="dept" ref="dept" /> <property name="dept" ref="dept"></property> </bean> --> <!-- <bean id="emp" class="com.sp05.Employee"> <constructor-arg index="0" value="zhang"/> <constructor-arg index="1" value="10000" /> <constructor-arg index="2" value="boy" /> <constructor-arg index="3" ref="dept" /> </bean> --> <!-- <bean id="emp" class="com.sp05.Employee"> <constructor-arg type="java.lang.String" value="zhang"/> <constructor-arg type="double" value="10000" /> <constructor-arg type="java.lang.String" value="boy" /> <constructor-arg type="com.sp05.Dept" ref="dept" /> </bean> --> <bean id="emp" class="com.sp05.Employee"> <constructor-arg value="zhang"/> <constructor-arg value="10000" /> <constructor-arg value="boy" /> <constructor-arg ref="dept" /> </bean> <bean id="dept" class="com.sp05.Dept"> <property name="did" value="101" /> <property name="dname" value="java ee" /> </bean></beans>
阅读全文
0 0
- Spring用bean.xml注入对象
- spring的注入参数(bean对象中又有bean属性),beans.xml配置
- 【Spring实战】注入非Spring Bean对象
- Spring杂记之Bean注入(xml)
- spring servlet之注入bean对象
- Spring XML配置<Map>注入Bean属性举例
- 3.Spring bean常见属性的注入:applicationContext-beans.xml
- 4.Spring bean常见属性的注入:applicationContext-editor.xml
- IOC容器注入Spring bean——XML篇
- 【Spring】使用XML进行Bean装配与依赖注入
- Spring的《XML显式装配bean》- 注入Map
- Spring学习:注入方法和bean的Scope(xml)
- spring入门(使用xml进行bean注入)
- Spring--5.bean管理 依赖注入(xml)
- spring 源码研究---bean包-- xml解析成bean对象
- spring基于xml文件注入依赖对象
- 用spring的注解建立bean与bean之间的关系组件装配及自动注入依赖对象
- spring与mybaties整合注入mapper bean对象失败
- Cmake简单实例
- 我怀念的
- 自定义View圆环进度条
- map表的一些用法
- C++11中std::mutex的使用
- Spring用bean.xml注入对象
- HTML5 4 视频
- 错误处理 ssh connection refused
- css3设置边框圆角border-radius属性
- CSDN机器学习笔记九 支持向量机
- What’s a Good Clickthrough Rate? New Benchmark Data for Google AdWords
- Cannot find module '.tmp/Rx.min.js'
- Unified Memory与unified memory managed详解
- Log4J的配置和使用