spring swing_使用Swing的Spring简介

在你开始前

关于本教程

本教程将帮助您学习使用Swing和依赖项注入 (也称为控制反转(IOC))进行应用程序开发的Spring框架的基础。 在简要概述了Spring和依赖项注入之后,本教程的大部分内容是动手操作的,逐步引导您使用Spring创建功能齐全的Swing应用程序(待办事项列表程序)。 本演练包括用于构建环境的三个选项,每个选项都有详细的设置说明。 您将在此过程中学习Spring框架的基本用法和好处。 一路包括其他相关概念的说明。 您还将进行一些旁听,以在教程代码的上下文中学习一些好的编程实践。

最后一部分是对Spring Rich Client(RCP)框架的简要概述,该框架是Spring框架的子项目,致力于为在Spring下开发富客户端Swing应用程序提供平台。 本教程不包括使用Spring RCP的分步说明,而是一个获取源代码和自行探索项目的起点。

本教程显示了您需要键入的每段新代码。 也提供了完整的源代码(请参阅下载 )。 可下载的源代码是通过直接从本教程开始并粘贴代码而创建的,因此它应无错误,并且与后续操作相同。 因为您将使用Java编程语言编写GUI应用程序,所以它将在运行Java代码的任何平台上运行。

本教程并非旨在全面概述Spring框架或Swing。 它不涉及使用Spring创建Web应用程序或访问数据库,也不涉及诸如Spring对面向方面的编程(AOP)的支持之类的更高级的主题。 探索本教程的相关主题的书籍,文章,教程和在线参考,涵盖春,摆在更大的广度和细节。

先决条件

本教程的读者是Java开发人员。 它旨在提供多种经验水平的访问,即使您熟悉一个主题,您仍可能会学到另一个主题。 一些部分讨论了相关的设计模式和开发方法。 如果您不感兴趣或已经熟悉它们,可以随意浏览。 以下知识和技能水平将有所帮助:

  • 熟悉Java编程语言的基础知识,Java Bean组件的约定以及使用Java语言进行基本应用程序设计和开发的经验。
  • 某些构建环境的基本知识-Eclipse,Apache Ant或Apache Maven(请参阅参考资料 )。 但是,即使您不熟悉这些环境,也可以按照教程中相当详细的说明使用它们。 如果您有一个问题,可以尝试其他两个之一或全部。
  • XML语法的基本知识-元素,属性以及如何维护格式良好的XML文档(请参阅参考资料 )。

您需要一台安装了JDK的计算机(在最后一节中需要JDK 1.5才能运行Rich Client Project演示),并且需要一个Internet连接来下载所需的工具和库。

以下之一是必需的,或者您可以使用自己的构建环境或IDE:

用于下载所需依赖项JAR的选项

为了减少启动本教程所需的前期下载工作量,该教程的源代码中的Ant和Maven构建脚本均提供了对从公共存储库自动下载所需的依赖项JAR(包括Spring本身)的支持。 该功能内置于Maven中,由get-dependencies目标在Ant脚本中提供。 要在Eclipse中使用这些功能,必须安装Ant或Maven。 您可以在“ 环境设置”中找到更多详细信息。

如果愿意,可以手动获得正确的必需JAR版本。 只需参考Ant build.xml文件中的get-dependencies目标(请参见清单1 ),找出需要哪些JAR和版本,以及从中下载它们的URL。

Spring和依赖注入概述

什么是Spring框架?

Spring框架Web站点以以下描述欢迎访问者:“作为领先的全栈Java / J2EE应用程序框架,Spring为许多项目带来了显着的好处,减少了开发工作量和成本,同时提高了测试覆盖率和质量”(请参阅参考资料 )。 该通用语句指示了Spring的范围和大小。 简而言之,Spring提供了许多工具和方法,使编写和测试Java和J2EE应用程序变得更加容易。 本教程仅说明了依赖注入的基本用法,但Spring包含许多其他服务和框架的有用且易于使用的包装器,以及高级功能,例如对面向方面的编程(AOP)的支持(请参阅参考资料 )。

有关更多Spring概述和背景信息,请查看项目的任务书,developerWorks上Spring系列 ,和其他物品的相关主题

什么是依赖注入?

依赖注入(DI),也称为控制反转(IOC),是一种软件开发方法,其中,单独的对象或框架(例如Spring框架)负责创建对象并将其“注入”到其他对象中。依靠他们。 这导致了代码之间的松散耦合,并且易于测试和重用。

请访问Martin Fowler的站点,以获取有关DI / IOC的一些不错的描述(请参阅参考资料 )。

环境设定

选择您的构建环境

在开始对示例应用程序进行编码之前,您需要设置一个环境来构建和运行它。 如果您对Java编程有足够的经验,可以自行完成构建和运行,则可以跳至创建待办事项列表:Basic Swing和Spring应用程序设置

您可以从三个选项中选择一个构建环境(请参阅先决条件 )。 您可以选择一个自己熟悉的人,也可以尝试一个新的人来接触它。 您可以使用任何一种或全部三种:

  • Apache Ant:您可以从命令行(要求您下载并安装Ant)或从IDE(例如Eclipse)中运行Ant构建脚本。
  • Apache Maven:Maven是一种流行的构建环境。 要使用它,必须下载并安装它,但是本教程中包含了使用Maven构建所需的所有必需配置文件。
  • Eclipse:请注意,即使使用Eclipse进行构建和运行,仍然需要获取库JAR依赖项,然后在Eclipse类路径中定义对这些依赖项的引用。 您可以使用Ant或Maven构建脚本将所需的依赖项自动下载到本地计算机,或自己下载它们。 您可以在“ 设置Eclipse”中找到更多详细信息。

设置蚂蚁

如果您选择了Ant作为构建环境:

  1. 安装Ant并确保Ant可执行文件在您的路径上。
  2. 在命令行中键入ant -version以验证是否正确安装了Ant。 或者,您可以从所选的IDE或其他工具中使用Ant。
  3. 在操作系统或IDE中配置Ant之后,创建一个名为todo的目录。 该目录将包含您的所有项目文件。
  4. 在目录的根目录中创建build.xml构建脚本,如清单1所示。

注意:出于演示目的,代码清单中的某些行在您通常不会拆分的地方拆分。 在某些情况下,例如清单1,这将导致您必须修复无效的文件。 在这种情况下,代码清单中会内联包含一个NOTE,指示您删除该便笺,并将各行连接在一起,且不能使用空格。 (Ant看起来足够聪明,可以从URL中删除换行符和空格,但是最好还是使它们看起来不错。)

清单1. build.xml
<project name="todo" default="default">
  <property name="build.dir" location="build"/>
  <property name="lib.dir" location="lib"/>

  <path id="classpath">
    <pathelement location="${build.dir}"/>
    <fileset dir="${lib.dir}"/>
  </path>

  <target name="clean">
    <delete dir="${build.dir}"/>
  </target>
    
  <target name="get-dependencies">
    <mkdir dir="${lib.dir}"/>
    <get dest="${lib.dir}/commons-logging-1.0.3.jar"
       usetimestamp="true" ignoreerrors="true"
       src="//www.ibiblio.org/maven/
NOTE: The URL in the lines above and below this note was split for
readability.  Delete this note and join the URL with no spaces             
       commons-logging/jars/commons-logging-1.0.3.jar"/>
    <get dest="${lib.dir}/spring-1.2.3.jar" 
       usetimestamp="true" ignoreerrors="true" 
       src= "http://www.ibiblio.org/maven/
NOTE: The URL in the lines above and below this note was split for
readability.  Delete this note and join the URL with no spaces        
       springframework/jars/spring-1.2.3.jar"/>
  </target>

  <target name="compile">
    <mkdir dir="${build.dir}/classes"/>
    <javac srcdir="src"
           destdir="${build.dir}/classes"
           classpathref="classpath"
           encoding="UTF8"
           debug="on"
           deprecation="on"
    />
    <copy todir="${build.dir}/classes" overwrite="true">
        <fileset dir="src">
            <include name="**/*.xml"/>
        </fileset>
    </copy>
  </target>

  <target name="run" depends="compile">
    <java classname="todo.ToDo" fork="true">
      <classpath>
        <path refid="classpath"/>
        <pathelement location="${build.dir}/classes"/>
      </classpath>
    </java>
  </target>

  <target name="default" depends="get-dependencies, compile, run"/>
</project>
通过Ant自动下载依赖项

现在,运行get-dependencies通过输入目标, ant get-dependencies在命令行上或者在您的IDE或编辑器运行目标。 您应该看到如下所示的输出:

Buildfile: build.xml

get-dependencies:
    [mkdir] Created dir: D:\projects\todo\lib
      [get] Getting: http://www.ibiblio.org/
          maven/commons-logging/jars/commons-logging-1.0.3.jar
      [get] Getting: http://www.ibiblio.org/maven/
          springframework/jars/spring-1.2.3.jar

BUILD SUCCESSFUL
Total time: 30 seconds

在本教程的后面,将指示您使用Ant脚本中的其他目标。 主要的脚本是cleancompilerun ,其行为与大多数标准Ant脚本一样。

设置Maven

如果您选择使用Maven作为构建环境:

  1. 安装Maven并确保Maven可执行文件在您的路径上。 有关更多详细信息,请参阅Maven站点上的文档(请参阅参考资料 )。
  2. 在命令行中键入maven -v以显示版本并验证Maven是否已正确安装。 您可以通过Eclipse或Maven插件在Eclipse中使用Maven。 有关详细信息,请参见Maven网站。
  3. 在操作系统或IDE中配置Maven之后,创建一个名为todo的目录。 该目录将包含您的所有项目文件。
  4. 在todo目录的根目录中创建project.xml(请参见清单2)和maven.xml(请参见清单3)。
清单2. project.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <pomVersion>3</pomVersion>
  <id>todo</id>
  <name>To Do List</name>
  <currentVersion>1.0</currentVersion>
  <organization>
    <name>To Do List Inc.</name>
    <url>http://localhost/notavailable</url>
    <logo>http://maven.apache.org/images/jakarta-logo-blue.gif</logo>
  </organization>
  <inceptionYear>2005</inceptionYear>
  <package>todo</package>
  <logo>http://maven.apache.org/images/maven.jpg</logo>
  <description>A To Do List</description>
  <shortDescription>A To Do List</shortDescription>
  <url/>
  <issueTrackingUrl/>
  <siteAddress/>
  <siteDirectory/>
  <distributionDirectory>/notavailable/</distributionDirectory>
  <repository>
    <connection/>
    <url/>
  </repository>
  <mailingLists/>
  <developers/>
  <dependencies>
    <dependency>
        <groupId>springframework</groupId>
        <artifactId>spring</artifactId>
        <version>1.2.3</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.0.3</version>
    </dependency>
  </dependencies>
  <build>
    <nagEmailAddress/>
    <sourceDirectory>src</sourceDirectory>
    <unitTestSourceDirectory/>
    <unitTest/>
    <resources>
      <resource>
        <directory>src</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>
</project>
清单3. maven.xml
<project default="test"
    xmlns:m="maven"
    xmlns:ant="jelly:ant">

    <goal name="run">
        <ant:path id="run.classpath" >
            <ant:pathelement path="${maven.test.dest}"/>
            <ant:pathelement path="${maven.build.dest}"/>
            <ant:path refid="maven.dependency.classpath"/>
        </ant:path>
    
       
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值