第一个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.javaMainApp.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"?>
 
 
 
   <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!

回顾运作流程

  1. 首先会运行main()语句,Spring框架使用ClassPathXmlApplicationContext()首先创建一个容器。
  2. 这个容器从Beans.xml中读取配置信息,并根据配置信息来创建bean(也就是对象),每个bean有唯一的id。
  3. 然后通过context.getBean()找到这个id的bean,获取对象的引用。
  4. 通过对象的引用调用printMessage()方法来打印信息。

好了,这是你的第一个Spring应用。你已经学会用Eclipse新建Java项目,导入Spring和commons-logging库,编写Java源代码和XML配置文件,并且成功运行了。如果要更改输出,只需要修改XML文件中的value值,而不需要更改Java源文件。

用Spring3编写第一个HelloWorld项目的更多相关文章

  1. Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html

    Cordova入门系列(二)分析第一个helloworld项目   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...

  2. struts2学习笔记--动手搭建环境+第一个helloworld项目

    在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下: 前期准备:下载struts2的完整包,下载地址:https://struts.apache.org/ ...

  3. 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞

    1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...

  4. Eclipse中Maven+Spring3.2.8+SpringMVC HelloWorld项目

    本文适合有一定spring和springmvc基础,并想使用Maven管理项目的人. 源码打包:http://pan.baidu.com/s/1hqurUcs 转载请声明出处(http://www.c ...

  5. Cordova入门系列(二)分析第一个helloworld项目

    版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的那个helloworld项目的代码,分析其运行. MainActiv ...

  6. Structs复习 开始 第一个helloworld项目

    大体已经学完ssh了  感觉一起做一个项目有点难 计划先用一下独立的Structs 然后再把数据库操作换成hibernate  然后在用Spring 整合 计划用10天左右吧 但今天开始用Struct ...

  7. 2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。答题人:张立鹏

    第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...

  8. Spring Boot创建一个HelloWorld项目

    目录 Spring Boot 简介 微服务框架 以前使用spring开发web的方式 Spring Boot 启动器介绍 如何创建一个helloword的SpringBoot项目 Spring Boo ...

  9. 第二章-如何使用github建立一个HelloWorld项目,git的add/commit/push/pull/fetch/clone等基本命令用法。--答题人:杨宇杰

    1.配置Git 首先在本地创建ssh 秘钥:在git bash输入: $ ssh-keygen -t rsa -C "your_email@youremail.com" eg:$ ...

随机推荐

  1. Java [Leetcode 257]Binary Tree Paths

    题目描述: Given a binary tree, return all root-to-leaf paths. For example, given the following binary tr ...

  2. (4) Spring中定时任务Quartz集群配置学习

    原 来配置的Quartz是通过spring配置文件生效的,发现在非集群式的服务器上运行良好,但是将工程部署到水平集群服务器上去后改定时功能不能正常运 行,没有任何错误日志,于是从jar包.JDK版本. ...

  3. 【WEB】jsp向servlet传参中文乱码问题解决

    传参方式:POST.GET.link方式 servlet向jsp传中文参数msg if(username.equals("") || password.euqals("& ...

  4. 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 ...

  5. hdu 5335 Walk Out(bfs+斜行递推) 2015 Multi-University Training Contest 4

    题意—— 一个n*m的地图,从左上角走到右下角. 这个地图是一个01串,要求我们行走的路径形成的01串最小. 注意,串中最左端的0全部可以忽略,除非是一个0串,此时输出0. 例: 3 3 001 11 ...

  6. [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)^\ ...

  7. C语言内存地址基础

    来源:http://blog.jobbole.com/44845/ 从计算机内存的角度思考C语言中的一切东东,是挺有帮助的.我们可以把计算机内存想象成一个字节数组,内存中每一个地址表示 1 字节.比方 ...

  8. 《Python核心编程》 第三章 Python基础 - 练习

    创建文件: # -*- coding: gbk -*- #! /auto/ERP/python_core/chapter ''' Created on 2014年5月21日 @author: user ...

  9. 为duilib的MenuDemo增加消息响应,优化代码和显示效果

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 第一部分 我在前一段时间研究了怎么制作duilib的菜单, ...

  10. PHP中我经常容易混淆的三组函数

    原文:http://www.ido321.com/1252.html 一.htmlentities() 和htmlspecialchars() 1.htmlentities() 1.1  功能:把字符 ...