Spring的注入方式都是什么?如何选用?

 
接口注入(不推荐)
 
getter,setter方式注入(比较常用)
 
构造器注入(死的应用)
 
关于getter和setter方式的注入:
 
autowire=”defualt”
 
autowire=“byName”
 
autowire=”bytype”
 
例如:有如下两个类需要注入
 1 package org.jia;
 2
 3 public class Order {
 4 private String orderNum;
 5 @SuppressWarnings(“unused”)
 6 private OrderItem orderitem;
 7
 8 public OrderItem getOrderitem() {
 9 return orderitem;
 10 }
 11
 12 public void setOrderitem(OrderItem orderitem) {
 13 this.orderitem = orderitem;
 14 }
 15
 16 public String getOrderNum() {
 17 return orderNum;
 18 }
 19
 20 public void setOrderNum(String orderNum) {
 21 this.orderNum = orderNum;
 22 }
 23
 24 }
 25 package org.jia;
 26
 27 public class OrderItem {
 28 private String orderdec;
 29
 30 public String getOrderdec() {
 31 return orderdec;
 32 }
 33
 34 public void setOrderdec(String orderdec) {
 35 this.orderdec = orderdec;
 36 }
 37 }
 38
 getter&&setter方式第一种注入:
 <?xml version=”1.0″ encoding=”UTF-8″?>
 <!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>
 
<beans>
 <bean id=”orderItem”>
 <property name=”orderdec” value=”item00001″></property>
 </bean>
 <bean id=”order” >
 <!—–注入变量 名字必须与类中的名字一样——->
 <property name=”orderNum” value=”order000007″></property>
 <!–注入对象 名字为orderitem,所属的类的应用id为orderItem–>
 <property name=”orderitem” ref=”orderItem”></property>
 
–></bean>
 
</beans>
 getter&&setter方式第二种注入: byName
 <?xml version=”1.0″ encoding=”UTF-8″?>
 <!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>
 <beans>
 <!–此时的id就必须与Order.java中所定义的OrderItem的对象名称一样了,不然就会找不到–>
 <bean id=”orderitem”>
 <property name=”orderdec” value=”item00001″></property>
 </bean>
 <bean id=”order” autowire=”byName”>
 <property name=”orderNum” value=”order000007″></property>
 </bean>
 </beans>
 getter&&setter方式第三种注入:byType
 <?xml version=”1.0″ encoding=”UTF-8″?>
 <!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>
 <beans>
 <!–按照byType注入则就与id没有关系,可以随便定义id !!!但是不能出现多个此类的id–>
 <bean id=”orderitdfadafaem”>
 <property name=”orderdec” value=”item00001″></property>
 </bean>
 <bean id=”order” autowire=”byType”>
 <property name=”orderNum” value=”order000007″></property>
 </bean>
 </beans>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值