http://www.importnew.com/13246.html

让我们用Spring来写第一个应用程序吧。

完成这一章要求:

  • 熟悉Java语言
  • 设置好Spring的环境
  • 熟悉简单的Eclipse IDE的操作

如果你还没有设置好环境,请参考Spring开发环境的配置

我们第一个程序是打印”Hello World”语句,这个语句通过Spring的配置文件来设置。

1 – 新建Java项目:

第一步用Eclipse IDE新建一个项目。 点击 > File > New > Java Project。然后在弹出的对话框中输入项目的名称,我们就叫HelloWorld吧。这会在你的workspace下新建一个HelloWorld的目录作为项目的根目录。

图片一 新建Java项目

点击Finish。你会在Project Explorer视图看到新建的项目。如果Project Explorer没有打开,请在> Window > Show View中找到。

图片二 Project Explorer视图

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.9
  • org.springframework.aspects-3.2.9
  • org.springframework.beans-3.2.9
  • org.springframework.context-3.2.9
  • org.springframework.context.support-3.2.9
  • org.springframework.core-3.2.9
  • org.springframework.expression-3.2.9

此外,为了打印信息,我们还需要一个Apache Commons Logging API,在这里下载commons-logging-1.2。本教程写作的时候,最新版是commons-logging-1.2。下载后解压缩到任意目录,我解压到~/commons-logging-1.2

然后和添加Spring库一样添加commons-logging-1.2.jar到CLASSPATH中。

图片三 添加Spring库

3 – Java源代码

首先新建一个包“com.importnew”。右键点击src,然后> New > Package,新建com.importnew包。

然后我们需要在com.importnew包下新建两个Java源文件HelloWorld.javaMainApp.java

HelloWorld.java:

package com.importnew;

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:

package com.importnew;

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

<?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="helloWorld" class="com.importnew.HelloWorld">
<property name="message" value="Hello World!"/>
</bean> </beans>

这个Beans.xml文件中设置了bean,包含在<beans></beans>中。每个bean都有一个唯一的id。

 

这个语句为message变量赋值,这样就能打印出Hello World!了。要修改输出,只需要修改XML文件,而不需要修改MainApp.java和HelloWorld.java。

整个HelloWorld项目的目录如图:

图片四 HelloWorld项目结构目录

5 – 运行程序

当你完成了以上的步骤,我们便可以运行程序了。

右键MainApp.java,点击> Run As > Java Application。也可以在工具栏找到运行按钮。

如果一切正常,输出如下:

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源文件。

下面的章节,我们将会在这个基础上体验Spring更多更强大的功能。

Spring对象属性注入:

http://blog.csdn.net/niuniu20008/article/details/12559797

使用Spring开发第一个HelloWorld应用的更多相关文章

  1. 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用

    http://www.importnew.com/13246.html     首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 - 首页 所有文章 资讯 ...

  2. Spring Boot创建一个HelloWorld项目

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

  3. PHP扩展开发--编写一个helloWorld扩展

    为什么要用C扩展 C是静态编译的,执行效率比PHP代码高很多.同样的运算代码,使用C来开发,性能会比PHP要提升数百倍. 另外C扩展是在进程启动时加载的,PHP代码只能操作Request生命周期的数据 ...

  4. 基于Spring开发的一个BIO-RPC框架(对新人很友好)

    PART1:先来整体看下项目的构成 其中bio-rpc-core就是所谓的rpc框架 bio-rpc-example-client即所谓的服务调用方(你的项目中想要调用服务的地方) bio-rpc-e ...

  5. Spring Boot 《一》开发一个“HelloWorld”的 web 应用

    一,Spring Boot 介绍 Spring Boot不是一个新的框架,默认配置了多种框架使用方式,使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet).准生产级别的基于 ...

  6. Spring第一个helloWorld

    Spring 简介: 轻量级:Spring是非侵入性的-基于Spring开发的应用中的对象可以不依赖于Spring的API 依赖注入(DI—dependdency injection.IOC) 面向切 ...

  7. eclipse3.62开发第一个java程序HelloWorld

    [学习笔记] 用eclipse3.62开发第一个java程序: 使用eclipse之前们需要先配置一下jdk.window/preference/java/installed JREs,详细请见视频. ...

  8. [maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40142771 maven官网:http://maven.apache.org/ 学习视 ...

  9. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

随机推荐

  1. ruby中将数组转换成hash

    class Arraydef to_h(default=nil)Hash[ *inject([]) { |a, value| a.push value, default || yield(value) ...

  2. tomcat 部署多个项目的技巧

    方法一.在tomcat的根目录下的 conf文件夹下的server.xml文件中的<Host>标签中加入: //docBase: 项目的webRoot path:访问路径 reloadab ...

  3. virtualenvwrapper

    VirtualEnv 是什么 VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装. 为什么要用 - 隔离项目 ...

  4. Codeforces 716C[数论][构造]

    /* CF傻逼构造题 某人要经过n回合游戏,初始分值是2,等级为1. 每次有两种操作 1.无条件,分值加上自己的等级数. 2.当目前的数字是完全平方数并且该数字开方以后是等级数加1的整数倍,那么可以将 ...

  5. (转)C#精确时间计时器

    原文地址:http://blog.sina.com.cn/s/blog_699d3f1b01012vgb.html 1 调用WIN API中的GetTickCount [DllImport(" ...

  6. 无法加载程序集,因为该程序集包含EdmSchemaAttribute,并按名称加载结束类型。不允许同时按名称和特性进行加载

    小小记录下,今天写程序时遇到的一个bug,相信大家用MVC+EF写项目时遇到的概率是挺大的.昨天本人也遇到了,很悲剧,暂时没想到好的办法解决,跟项目经理交流了下,这个问题认为出现在EF的自身设计上,它 ...

  7. VIM安装 NERDTREE,SOLARIZED 插件

    实验系统版本及VIM版本 系统:CentOS6.3 VIM:7.2 插件介绍 (附上一张效果图) nerdtree(在窗口左侧用于浏览目录结构的插件) solarized(一个自己认为比较护眼的vim ...

  8. SDUT 2141 【TEST】数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

    数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  9. 【PL/SQL练习】基本的PL/SQL语句

    1.无变量匿名快 begin dbms_output.put_line('Hello World'); end; 2.有变量的匿名块,定义变量: declare v_ename ); v_sal ,) ...

  10. 华为OJ平台——字符串通配符

    题目描述: 在计算机中,通配符一种特殊语法,广泛应用于文件搜索.数据库.正则表达式等领域.现要求各位实现字符串通配符的算法.要求:实现如下2个通配符: *:匹配0个或以上的字符(字符由英文字母和数字0 ...