spring的三种注入方式:
- 接口注入(不推荐)
- getter,setter方式注入(比较常用)
- 构造器注入(死的应用)
关于getter和setter方式的注入:
- autowire="defualt"
- autowire=“byName”
- autowire="bytype"
例如:有如下两个类需要注入
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 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方式第一种注入:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><?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" class="org.jia.OrderItem">
<property name="orderdec" value="item00001"></property>
</bean>
<bean id="order" class="org.jia.Order" >
<!-----注入变量 名字必须与类中的名字一样------->
<property name="orderNum" value="order000007"></property>
<!--注入对象 名字为orderitem,所属的类的应用id为orderItem-->
<property name="orderitem" ref="orderItem"></property>
--></bean>
</beans>
getter&&setter方式第二种注入: byName
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><?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" class="org.jia.OrderItem">
<property name="orderdec" value="item00001"></property>
</bean>
<bean id="order" class="org.jia.Order" autowire="byName">
<property name="orderNum" value="order000007"></property>
</bean>
</beans>
getter&&setter方式第三种注入:byType
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><?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" class="org.jia.OrderItem">
<property name="orderdec" value="item00001"></property>
</bean>
<bean id="order" class="org.jia.Order" autowire="byType">
<property name="orderNum" value="order000007"></property>
</bean>
</beans>
关于构造器的注入:
autowire="constructor"
需要在Order.java中加入一个构造器
public Order(OrderItem item ){ orderitem = item; }
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><?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" class="org.jia.OrderItem">
<property name="orderdec" value="item00001"></property>
</bean>
<bean id="order" class="org.jia.Order" autowire="constructor">
<property name="orderNum" value="order000007"></property>
</bean>
</beans>
分享到:
相关推荐
NULL 博文链接:https://gary0416.iteye.com/blog/889125
NULL 博文链接:https://gary0416.iteye.com/blog/890689
NULL 博文链接:https://gary0416.iteye.com/blog/889228
Spring 三种依赖注入方式.doc Spring 三种依赖注入方式.doc
spring 注入 spring 注入 spring 注入 spring 注入
bean加入spring容器管理的方式,bean加入applicationcontext容器的方式
主要给大家介绍了关于spring boot中几种注入方法的一些个人看法,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
spring注入方式 set注入 构造注入 自动注入
spring 依赖注入三种方式测试源码,测试细节参考博文http://blog.csdn.net/u010679383/article/details/71305400
NULL 博文链接:https://shmilyaw-hotmail-com.iteye.com/blog/2169569
Spring IOC的注入方式总结 ,具体效果和过程看博文http://blog.csdn.net/evankaka/article/details/44832305
花了些时间做了一个实验,彻底弄懂了spring Annotation注入的方式。凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处...
如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的 依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程(将依赖关系注入到对象中) ,spring的依赖注入有3种方式: ...
原创的哦,希望能对spring学习者有所帮助
详细介绍spring的三种注入方式,带有实例和图片
主要介绍了详解Spring中bean的几种注入方式,主要介绍了4种注入,主要有属性注入、构造函数注入、工厂方法注入,非常具有实用价值,需要的朋友可以参考下
一个spring设值注入的例子,自己也是初学者。希望高手都知道啊……
本项目为Java项目,使用Spring实现依赖注入,实现采用ApplicationContext,不再直接使用XmlBeanFactory方式。适合初学者了解Spring依赖注入的实现。
我们学习了spring框架spring框架里面有3个优势第一个是轻量级的IOC也叫控制反转后来改名为DI也叫依赖注入,依赖注入里面有3中注入方法分别是set注入,构造器注入,注解注入,我传的是set注入的视频
1.spring 普通属性注入 2.xml中 map集合标签与其他标签不通-- 3.用junit测试