让我们开始使用 Spring Framework 进行实际编程。在开始使用 Spring 框架编写第一个示例之前,您必须确保已按照Spring - 环境设置章节中的说明正确设置了 Spring 环境。我们还假设您对 Eclipse IDE 有一定的了解。
现在让我们继续编写一个简单的 Spring 应用程序,它将打印“Hello World!” 或基于在 Spring Beans 配置文件中完成的配置的任何其他消息。
第一步是使用 Eclipse IDE 创建一个简单的 Java 项目。按照选项文件 → 新建 → 项目,最后从向导列表中选择Java 项目向导。现在使用向导窗口将您的项目命名为HelloSpring,如下所示 -
成功创建项目后,您的项目资源管理器中将包含以下内容-
第二步,让我们在项目中添加 Spring Framework 和通用日志 API 库。为此,请右键单击您的项目名称HelloSpring ,然后按照上下文菜单中提供的以下选项进行操作 - Build Path → Configure Build Path以显示 Java Build Path 窗口,如下所示 -
现在使用“库”选项卡下可用的“添加外部 JAR”按钮从 Spring Framework 和 Common Logging 安装目录中添加以下核心 JAR -
commons-logging-1.1.1
spring-aop-4.1.6.RELEASE
spring-aspects-4.1.6.RELEASE
spring-beans-4.1.6.RELEASE
spring-context-4.1.6.RELEASE
spring-context-support-4.1.6.RELEASE
spring-core-4.1.6.RELEASE
spring-expression-4.1.6.RELEASE
spring-instrument-4.1.6.RELEASE
spring-instrument-tomcat-4.1.6.RELEASE
spring-jdbc-4.1.6.RELEASE
spring-jms-4.1.6.RELEASE
spring-messaging-4.1.6.RELEASE
spring-orm-4.1.6.RELEASE
spring-oxm-4.1.6.RELEASE
spring-test-4.1.6.RELEASE
spring-tx-4.1.6.RELEASE
spring-web-4.1.6.RELEASE
spring-webmvc-4.1.6.RELEASE
spring-webmvc-portlet-4.1.6.RELEASE
spring-websocket-4.1.6.RELEASE
现在让我们在HelloSpring项目下创建实际的源文件。首先,我们需要创建一个名为com.tutorialspoint的包。为此,请右键单击包资源管理器部分中的src并按照选项 -新建 → 包。
接下来我们将在 com.tutorialspoint 包下创建HelloWorld.java和MainApp.java文件。
这是HelloWorld.java文件的内容-
package com.tutorialspoint;public class HelloWorld { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println("Your Message : " + message); }}
以下是第二个文件MainApp.java的内容-
package com.tutorialspoint;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.getMessage(); }}
关于主程序,需要注意以下两个要点 -
第一步是创建一个应用程序上下文,我们在其中使用了框架 API ClassPathXmlApplicationContext()。该 API 加载 bean 配置文件,并最终基于提供的 API,负责创建和初始化所有对象,即配置文件中提到的 bean。
第二步用于使用创建的上下文的getBean()方法获取所需的 bean 。该方法使用 bean ID 返回一个通用对象,最终可以将其强制转换为实际对象。一旦你有了一个对象,你就可以使用这个对象来调用任何类方法。
您需要创建一个 Bean 配置文件,该文件是一个 XML 文件并充当将 Bean(即类)粘合在一起的粘合剂。该文件需要在src目录下创建,如下面的屏幕截图所示 -
通常开发人员将此文件命名为Beans.xml,但您可以独立选择您喜欢的任何名称。您必须确保此文件在 CLASSPATH 中可用,并在主应用程序中使用相同的名称,同时创建 MainApp.java 文件中所示的应用程序上下文。
Beans.xml 用于为不同的 bean 分配唯一的 ID,并控制具有不同值的对象的创建,而不会影响任何 Spring 源文件。例如,使用以下文件,您可以为“message”变量传递任何值,并且可以打印不同的消息值,而不会影响 HelloWorld.java 和 MainApp.java 文件。让我们看看它是如何工作的 -
<?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.tutorialspoint.HelloWorld"> <property name = "message" value = "Hello World!"/> </bean></beans>
当 Spring 应用程序被加载到内存中时,Framework 使用上面的配置文件来创建所有定义的 bean,并为它们分配一个在<bean>标签中定义的唯一 ID 。您可以使用<property>标签来传递创建对象时使用的不同变量的值。
一旦您完成了源文件和 bean 配置文件的创建,您就可以开始这一步了,即编译和运行您的程序。为此,请保持 MainApp.Java 文件选项卡处于活动状态,并使用Eclipse IDE 中提供的运行选项或使用Ctrl + F11来编译和运行MainApp应用程序。如果您的应用程序一切正常,这将在 Eclipse IDE 的控制台中打印以下消息 -
Your Message : Hello World!
恭喜,您已经成功创建了您的第一个 Spring 应用程序。通过更改“message”属性的值并保持两个源文件不变,您可以看到上述 Spring 应用程序的灵活性。