用Spring3编写第一个HelloWorld项目
第一个HelloWorld程序
让我们用Spring来写第一个应用程序吧。
完成这一章要求:
- 熟悉Java语言
- 设置好Spring的环境
- 熟悉简单的Eclipse IDE的操作
如果你还没有设置好环境,请参考Spring开发环境的配置。
我们第一个程序是打印”Hello World”语句,这个语句通过Spring的配置文件来设置。
1 – 新建Java项目:
第一步用Eclipse IDE新建一个项目。 点击 > File > New > Java Project
。然后在弹出的对话框中输入项目的名称,我们就叫HelloWorld
吧。这会在你的workspace下新建一个HelloWorld的目录作为项目的根目录。
点击Finish
。你会在Project Explorer
视图看到新建的项目。如果Project Explorer
没有打开,请在> Window > Show View
中找到。
2 – 添加Spring库
接下来要加入必要的Spring库添加到CLASSPATH下,以便Eclipse编译和运行程序时能够找到所需要的class。
右键在Package Explorer
中点击> Build Path > Configure Build Path...
。然后点击Add External JARs...
加入我们需要的Spring库。如果还没有下载Spring库,请先下载Spring库。
我们需要加入的Spring库有:
- org.springframework.aop-3.2.2
- org.springframework.aspects-3.2.2
- org.springframework.beans-3.2.2
- org.springframework.context-3.2.2
- org.springframework.context.support-3.2.2
- org.springframework.core-3.2.2
- org.springframework.expression-3.2.2
此外,为了打印信息,我们还需要一个Apache Commons Logging API,在这里下载commons-logging-1.1.x。本教程写作的时候,最新版是commons-logging-1.1.2。下载后解压缩到任意目录,我解压到~/commons-logging-1.1.2
。
然后和添加Spring库一样添加commons-logging-1.1.2.jar到CLASSPATH中。
3 – Java源代码
首先新建一个包“com.ladyloveit”。右键点击src,然后> New > Package
,新建com.ladyloveit
包。
然后我们需要在com.ladyloveit
包下新建两个Java源文件HelloWorld.java
和MainApp.java
。
HelloWorld.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package com.ladyloveit; public class HelloWorld { private String message; public void setMessage(String message){ this .message = message; } public String getMessage(){ return this .message; } public void printMessage(){ System.out.println( "Your Message : " + message); } } |
MainApp.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package com.ladyloveit; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "Beans.xml" ); HelloWorld obj = (HelloWorld) context.getBean( "helloWorld" ); obj.printMessage(); } } |
4 – 配置文件
接下来,我们需要新建一个XML文件来配置bean,这个XML的作用是集中在一个地方,配置和管理所有的bean。有关bean的概念,请看Bean的定义。
我们将这个XML文件也放在src
下面,这样就保证Eclipse可以在CLASSPATH下读取到这个文件。
新建一个Beans.xml
,当然这个文件名任意,不过要和MainApp.java中ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml")
设置的一致。
Beans.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<? xml version = "1.0" encoding = "UTF-8" ?> xsi:schemaLocation="http://www.springframework.org/schema/beans < bean id = "helloWorld" class = "com.ladyloveit.HelloWorld" > < property name = "message" value = "Hello World!" /> </ bean > </ beans > |
这个Beans.xml文件中设置了bean,包含在<beans>
和</beans>
中。每个bean都有一个唯一的id。
1
|
< property name = "message" value = "Hello World!" /> |
这个语句为message
变量赋值,这样就能打印出Hello World!
了。要修改输出,只需要修改XML文件,而不需要修改MainApp.java和HelloWorld.java。
5 – 运行程序
当你完成了以上的步骤,我们便可以运行程序了。
右键MainApp.java,点击> Run As > Java Application
。也可以在工具栏找到运行按钮。
如果一切正常,输出如下:
1
|
Your Message : Hello World! |
回顾运作流程
- 首先会运行main()语句,Spring框架使用
ClassPathXmlApplicationContext()
首先创建一个容器。 - 这个容器从
Beans.xml
中读取配置信息,并根据配置信息来创建bean(也就是对象),每个bean有唯一的id。 - 然后通过
context.getBean()
找到这个id的bean,获取对象的引用。 - 通过对象的引用调用
printMessage()
方法来打印信息。
好了,这是你的第一个Spring应用。你已经学会用Eclipse新建Java项目,导入Spring和commons-logging库,编写Java源代码和XML配置文件,并且成功运行了。如果要更改输出,只需要修改XML文件中的value值,而不需要更改Java源文件。
用Spring3编写第一个HelloWorld项目的更多相关文章
- Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html
Cordova入门系列(二)分析第一个helloworld项目 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...
- struts2学习笔记--动手搭建环境+第一个helloworld项目
在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下: 前期准备:下载struts2的完整包,下载地址:https://struts.apache.org/ ...
- 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞
1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...
- Eclipse中Maven+Spring3.2.8+SpringMVC HelloWorld项目
本文适合有一定spring和springmvc基础,并想使用Maven管理项目的人. 源码打包:http://pan.baidu.com/s/1hqurUcs 转载请声明出处(http://www.c ...
- Cordova入门系列(二)分析第一个helloworld项目
版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的那个helloworld项目的代码,分析其运行. MainActiv ...
- Structs复习 开始 第一个helloworld项目
大体已经学完ssh了 感觉一起做一个项目有点难 计划先用一下独立的Structs 然后再把数据库操作换成hibernate 然后在用Spring 整合 计划用10天左右吧 但今天开始用Struct ...
- 2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。答题人:张立鹏
第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...
- Spring Boot创建一个HelloWorld项目
目录 Spring Boot 简介 微服务框架 以前使用spring开发web的方式 Spring Boot 启动器介绍 如何创建一个helloword的SpringBoot项目 Spring Boo ...
- 第二章-如何使用github建立一个HelloWorld项目,git的add/commit/push/pull/fetch/clone等基本命令用法。--答题人:杨宇杰
1.配置Git 首先在本地创建ssh 秘钥:在git bash输入: $ ssh-keygen -t rsa -C "your_email@youremail.com" eg:$ ...
随机推荐
- Java [Leetcode 257]Binary Tree Paths
题目描述: Given a binary tree, return all root-to-leaf paths. For example, given the following binary tr ...
- (4) Spring中定时任务Quartz集群配置学习
原 来配置的Quartz是通过spring配置文件生效的,发现在非集群式的服务器上运行良好,但是将工程部署到水平集群服务器上去后改定时功能不能正常运 行,没有任何错误日志,于是从jar包.JDK版本. ...
- 【WEB】jsp向servlet传参中文乱码问题解决
传参方式:POST.GET.link方式 servlet向jsp传中文参数msg if(username.equals("") || password.euqals("& ...
- HDU 5742 It's All In The Mind
It's All In The Mind Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- hdu 5335 Walk Out(bfs+斜行递推) 2015 Multi-University Training Contest 4
题意—— 一个n*m的地图,从左上角走到右下角. 这个地图是一个01串,要求我们行走的路径形成的01串最小. 注意,串中最左端的0全部可以忽略,除非是一个0串,此时输出0. 例: 3 3 001 11 ...
- [Everyday Mathematics]20150208
对 $f\in C^2(\bbR)$ 适合 $$\bex \vlm{|x|}f(x)=0, \eex$$ 试证: $$\bex \int_{\bbR} |f'|^p\rd x \leq (p-1)^\ ...
- C语言内存地址基础
来源:http://blog.jobbole.com/44845/ 从计算机内存的角度思考C语言中的一切东东,是挺有帮助的.我们可以把计算机内存想象成一个字节数组,内存中每一个地址表示 1 字节.比方 ...
- 《Python核心编程》 第三章 Python基础 - 练习
创建文件: # -*- coding: gbk -*- #! /auto/ERP/python_core/chapter ''' Created on 2014年5月21日 @author: user ...
- 为duilib的MenuDemo增加消息响应,优化代码和显示效果
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 第一部分 我在前一段时间研究了怎么制作duilib的菜单, ...
- PHP中我经常容易混淆的三组函数
原文:http://www.ido321.com/1252.html 一.htmlentities() 和htmlspecialchars() 1.htmlentities() 1.1 功能:把字符 ...