3.3 将HelloWorld实例改为构造注入方式实现
来源:互联网 发布:java 判断什么浏览器 编辑:程序博客网 时间:2024/05/16 17:46
3.3 将HelloWorld实例改为构造注入方式实现
Spring支持Set注入(setter injection)和构造注入(constructor injection),但更推荐使用Set注入。上面讲过,第2章的第一个实现HelloWorld的实例就是采用Set注入方式实现的,读者可以参看第2章的实例。下面笔者把这个实例改为采用构造注入方式实现。改写思路是:首先修改类HelloWorld,在该类中增加一个构造方法,然后修改Spring的配置文档config.xml,最后编写测试程序TestHelloWorld.java。
3.3.1 修改HelloWorld.java
修改com.gc.action包下的HelloWorld.java,增加一个构造方法,并把要注入的字符串msg作为参数,代码如下,在HelloWorld类中增加了一个构造方法public HelloWorld (String msg)。
//*******HelloWorld.java**************
package com.gc.action;
public class HelloWorld {
//该变量用来存储字符串
public String msg = null;
//增加了一个构造方法
public HelloWorld (String msg) {
this.msg = msg;
}
//设定变量msg的set方法
public void setMsg(String msg) {
this.msg = msg;
}
//获取变量msg的get方法
public String getMsg() {
return this.msg;
}
}
3.3.2 修改config.xml
在Spring中,利用Set注入和构造注入时,在XML配置文档中使用的语法是不一样的。修改配置文件config.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--定义一个Bean,通过构造函数进行注入-->
<bean id="HelloWorld" class="com.gc.action.HelloWorld">
<!--通过构造函数进行注入-->
<constructor-arg index="0">
<value>HelloWorld</value>
</constructor-arg>
</bean>
</beans>
代码说明:
● constructor-arg,用来表示是通过构造方式来注入参数的。
● index="0",表示是构造方法中的第一个参数,如果只有一个参数,则可以不用设置这个属性值。
3.3.3 编写测试程序TestHelloWorld.java
修改TestHelloWorld.java,代码如下:
//******* TestHelloWorld.java**************
package com.gc.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.gc.action.HelloWorld;
public class TestHelloWorld {
public static void main(String[ ] args) {
//通过ApplicationContext来获取Spring的配置文件
ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml");
HelloWorld HelloWorld = (HelloWorld) actx.getBean("HelloWorld");
System.out.println(HelloWorld.getMsg());
}
}
3.3.4 运行测试程序并查看输出结果
在Eclipse中运行Java程序的步骤如下:
(1)确保当前在Eclipse中编辑的是TestHelloWorld.java文件。
(2)选择Run→Run As→Java Application命令,Eclipse即可运行TestHelloWorld.java。
(3)输出结果为“HelloWorld”,如图3.1所示。
图3.1 输出结果为“HelloWorld”
- 3.3 将HelloWorld实例改为构造注入方式实现
- Spring 将HelloWorld实例改为构造方式注入
- SPRING-HELLOWORLD 改写为构造注入
- 将NS2改为plugin方式的尝试
- Spring 构造注入简单实例
- Spring注入方式二:构造器注入
- SQL注入问题将传入的参数改为问号
- Spring 两种注入的方式(Set和构造)实例
- spring注入方式 (Set注入 构造方法注入)
- Spring的注入方式:设值注入和构造注入
- cmsis dap的实现, 改为无线通信方式
- 将CAS https认证的方式改为http
- 将CAS的HTTPS认证方式改为HTTP
- 将USB的默认连接方式改为MTP
- 将UIAlertView的按钮点击代理方式改为Block形式
- 【SSO-CAS】将CAS https认证的方式改为http
- jsp将页面的响应方式改为excel
- ADF修改默认filter查询将%改为%%方式
- JFreeChart教程
- evc 调试编译出现错误的一些修正
- 左右两侧上下浮动图片代码
- 3.2 依赖注入的3种实现方式
- 管理IIS的小工具可以修改xp限制10个链接数
- 3.3 将HelloWorld实例改为构造注入方式实现
- Landsat产品级别说明_对地观测与数字地球中心
- 二进制,八进制,十六进制间的转换
- 3.4 使用哪种注入方式
- WPF几何绘图(一)画直线
- [基础回顾-JAVA类集框架篇] 之 集合排序Comparable与Comparator(上)
- windows ini configration file operation class / *.ini的C#操作类
- apache 虚拟主机管理
- LG英特尔合作开发基于Atom的MID设备(图)