【Spring学习07】依赖配置:内部对象
来源:互联网 发布:高仿二代身份证 淘宝 编辑:程序博客网 时间:2024/05/22 01:48
本文博客地址:http://blog.csdn.net/soonfly/article/details/68928511(转载请注明出处)
内部对象就是对象的里面还有对象。。。。。好象是废话。
比如订单Order中,包含一个消费者Customer。那么Customer就是Order对象的内部对象。(有人叫内部类,我觉得不妥。内部类是指一个类的定义放在另一个类的内部,而这里是一个对象使用了另一个对象作为成员属性)
Customer类:
public class Customer {private String name; private String address; private int age; //getter and setter methods @Override public String toString() { return "Person [address=" + address + ", age=" + age + ", name=" + name + "]"; }}
Order类:
public class Order { /*comstomer和notifyservice都是Order的内部对象*/ private Customer customer; private String orderno; private NotifyService notifyservice; public Order(){ this.customer=new Customer(); } public Order(Customer customer, String orderno, NotifyService notifyservice) { super(); this.customer = customer; this.orderno = orderno; this.notifyservice = notifyservice; } //getter and setter methods...... /*订单支付完成后,系统通知老板*/ public void PaySuccess(){ notifyservice.sendMessage("客户"+customer.getName()+"完成订单"+orderno+"付款,共人民币:97.5元"); }}
然后在beans.xml定义bean对象
<bean id="order" class="twm.spring.start.Order"> <property name="customer"> <bean class="twm.spring.start.Customer"> <property name="name" value="陈先生"></property> <property name="address" value="深圳南山区"></property> </bean> </property> <property name="orderno" value="201799777799"></property> <property name="notifyservice" ref="notify2"></property></bean><bean id="notifyfactory" class="twm.spring.start.NotifyFactory" /><bean id="notify2" factory-bean="notifyfactory" factory-method="getNotifyService" />
如果用构造注入则是:
<bean id="order" class="twm.spring.start.Order"> <constructor-arg name="customer"> <bean class="twm.spring.start.Customer"> <property name="name" value="陈先生"></property> <property name="address" value="深圳南山区"></property> </bean> </constructor-arg> <constructor-arg name="orderno" value="201799777799"></constructor-arg> <constructor-arg name="notifyservice" ref="notify2"></constructor-arg></bean><bean id="notifyfactory" class="twm.spring.start.NotifyFactory" /><bean id="notify2" factory-bean="notifyfactory" factory-method="getNotifyService" />
setter注入和构造注入中,在<property>
元素或者<constructor-arg>
元素内定义<bean>
元素,就是所谓的内部类。
比如当“陈先生”这个用户只用在order2这个bean中使用,就没必要在外面定义“陈先生”这个bean,再通过order2内部的ref引用了。
直接定义在order的<property>
元素或者<constructor-arg>
元素内定义“陈先生”bean更直观。
内部bean的定义无需id或name;容器会忽略这些属性,也会忽略scope标记。内部通常是匿名的,伴随着外部类(的创建)而创建 。
本文博客地址:http://blog.csdn.net/soonfly/article/details/68928511(转载请注明出处)
1 0
- 【Spring学习07】依赖配置:内部对象
- 【Spring学习09】依赖配置:配置集合
- spring学习笔记3--依赖注入对象
- 传智播客 Spring学习 xml配置依赖注入
- 【Spring学习06】依赖配置:元素idref
- 【Spring学习08】依赖配置:复合属性
- spring学习之---高级依赖关系配置
- Spring注入依赖对象
- Spring注入依赖对象
- 【Spring】对象依赖关系
- Spring学习07--Bean对象的初始化(IOC的依赖注入)原理
- spring学习笔记3——注入依赖对象
- spring.net学习笔记1--依赖对象注入
- Spring源码学习--Bean对象循环依赖问题解决(四)
- Spring之配置依赖
- spring 配置依赖
- Spring 依赖配置
- spring内部各模块jar包依赖
- UIGestureRecognizer手势综合使用
- 测试CDH hadoop遇到的问题
- HDU4612-Warm up(无向图强连通分量缩点)
- Hiebernate中配置映射关系
- Pointcut is malformed: Pointcut is not well-formed: expecting 'name pattern' at character position 5
- 【Spring学习07】依赖配置:内部对象
- 打印日历
- TCP、UDP、IP 协议分析
- 理解Java的static import静态引入机制
- [JAVA基础汇总]第十一章 继承和多态
- 时过境迁,再看咸鱼
- Apache Kylin在唯品会大数据的应用, ROLAP解决方案
- Leetcode 135. Candy
- dijsktra模板