依赖注入是指对象之间关系的控制权由应用代码中转到外部容器。Spring框架主要提供了Set注入和构造注入两种依赖注入方式。

1:Set注入指的就是在接受注入的类中定义一个要被注入的类型的一个set方法,并在参数中定义需要注入的元素。Set注入式一种装配Bean属性的直接方法,但Set注入的一个缺点就是它假设了所有的可变属性都可以通过set方法访问到,无法清晰地表示哪些属性是必须的,哪些属性是可选的。
2:构造注入是在接收注入的类中定义一个构造方法,并在构造方法中定义需要注入的参数。构造注入方式的优势是通过构造方法来强制依赖关系。
下面介绍一下两种方式的用法:
一:在Myeclipse中(笔者使用的是Myeclipse10版本)新建一个项目(Java project或者web project都可)
二:右键项目 - MyEclipse - Add Spring Capabilities(添加Spring支持),选择3.0版本并添加引用核心类库,点击下一步。
三:选择新创建一个spring bean 配置文件放到项目src目录下。
四:点击下一步,指定hibernate 配置页,直接默认,点击完成即可。
五:新建类 HelloWorld.Java
package com.xiami.spring;
public class HelloWorld {
private String str;
/**
* 默认构造方法
*/
public HelloWorld() {
}
/**
* 用来进行构造注入的构造方法
*
* @param str
*/
public HelloWorld(String str) {
this.str = str;
}
/**
* 用来进行Set注入的方法
* @param str
*/
public void setStr(String str) {
this.str = str;
}
/**
* 输出字符串的方法
*/
public void sayHello() {
System.out.println(str);
}
}
六:新建测试类Test.java
package com.xiami.spring;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//载入spring配置文件
BeanFactory bFactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
HelloWorld helloWorld = (HelloWorld) bFactory.getBean("helloService");
helloWorld.sayHello();
}
}
七:打开applicationContext.xml文件,进行添加bean配置
以下是两种方式添加bean:
1:采用Set注入方式的Bean类的配置
右击applicationContext.xml的编辑界面 - Spring - new bean 打开Bean向导窗口,填写Bean Id(自定义命名和Test.java中getBean("???")对应。Bean class 选择要注入的HelloWorld类。点击Properties属性选项卡,给该bean新建一个属性。
八:在属性向导窗口填写 Name 对应HelloWorld.java中的属性名称,Spring Type 选择value,type选择String,Value 随便填值。finish 既可。
九:保存applicationContext.xml, 添加bean后,配置文件多了红色标记的部分,读者可以运行Test.java。测试一下。发现hello world字符串已经注入到了str变量上。
<?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-3.0.xsd">
<!-- 使用Set方式注入 -->
<!--
<span style="color:#ff0000;"><bean id="helloService" class="com.xiami.spring.HelloWorld"
abstract="false" lazy-init="default" autowire="default">
<property name="str">
<value type="java.lang.String">hello world</value>
</property>
</bean></span>
-->
<!-- 使用构造方法方式注入
<bean id="helloService" class="com.xiami.spring.HelloWorld"
abstract="false" lazy-init="default" autowire="default">
<constructor-arg>
<value type="java.lang.String">构造方法注入方式</value>
</constructor-arg>
</bean>
-->
</beans>
2:采用构造注入方式的Bean类的配置
在以上Set方式的Bean Wizard(Bean 向导)窗口,不选择Properties选项卡,变为Constructor Args选项卡。并Add 新增一个构造参数。Index和Java Class 不用填写。
十:在增加构造方式bean的时候,之前第一个得先注释或者删除,不允许有多个id相同的bean。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# spring注入方式
# spring
# 构造注入
# set注入实例
# Spring使用Setter完成依赖注入方式
# Spring:bean注入--Set方法注入
# 详解Spring注入集合(数组、List、Map、Set)类型属性
# Spring中的set注入方法
# 两种
# 配置文件
# 选项卡
# 并在
# 新建一个
# 类中
# 的是
# 是在
# 第一个
# 多个
# 是指
# 右键
# 转到
# 可以通过
# 自定义
# 可选
# 既可
# 介绍一下
# 方法来
# 创建一个
相关文章:
高防服务器如何保障网站安全无虞?
建站之星如何实现网站加密操作?
Python如何创建带属性的XML节点
如何在万网ECS上快速搭建专属网站?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何快速搭建自助建站会员专属系统?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
独立制作一个网站多少钱,建立网站需要花多少钱?
油猴 教程,油猴搜脚本为什么会网页无法显示?
盘锦网站制作公司,盘锦大洼有多少5G网站?
如何在阿里云部署织梦网站?
网站网页制作专业公司,怎样制作自己的网页?
黑客如何通过漏洞一步步攻陷网站服务器?
制作网站的软件免费下载,免费制作app哪个平台好?
模具网站制作流程,如何找模具客户?
常州自助建站工具推荐:低成本搭建与模板选择技巧
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
微课制作网站有哪些,微课网怎么进?
建站之星伪静态规则如何正确配置?
C#如何序列化对象为XML XmlSerializer用法
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何做网站制作流程,*游戏网站怎么搭建?
建站之星代理费用多少?最新价格详情介绍
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
山东云建站价格为何差异显著?
如何选择服务器才能高效搭建专属网站?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
如何在VPS电脑上快速搭建网站?
如何在Windows 2008云服务器安全搭建网站?
专业网站建设制作报价,网页设计制作要考什么证?
如何在西部数码注册域名并快速搭建网站?
如何通过VPS建站无需域名直接访问?
如何在建站宝盒中设置产品搜索功能?
在线教育网站制作平台,山西立德教育官网?
建站之星如何助力企业快速打造五合一网站?
如何通过免费商城建站系统源码自定义网站主题与功能?
制作网站公司那家好,网络公司是做什么的?
利用JavaScript实现拖拽改变元素大小
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
电商平台网站制作流程,电商网站如何制作?
如何在IIS7上新建站点并设置安全权限?
图册素材网站设计制作软件,图册的导出方式有几种?
简单实现Android文件上传
南平网站制作公司,2025年南平市事业单位报名时间?
香港服务器如何优化才能显著提升网站加载速度?
建站主机选择指南:服务器配置与SEO优化实战技巧
制作证书网站有哪些,全国城建培训中心证书查询官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。