环境已经安装完成,接下来创建一个简单的Spring应用。

创建Spring应用步骤:

  1. 创建一个maven项目
  2. 添加spring库依赖
  3. 创建Bean类
  4. 添加Bean的xml装配文件
  5. 创建主类
  6. 运行应用程序

1. 创建一个maven项目

打开Eclipse,如果还没有搭建开发环境,可参照Spring开发环境搭建(Eclipse) ,选择菜单:File > New > Maven Project,弹出对话框,如下图操作

点击Next,弹出对话框,如下图操作

点击Finish,完成项目创建,项目结构如下:

项目目录说明:

  • src – 源码目录

    • main – 代码

      • java – Java代码目录
      • resources – 配置文件等资源目录
    • test – 测试代码
  • target – 编译后的输出目录

项目根目录下的pom.xml文件就是maven的依赖包配置文件。

2. 添加spring库依赖

要把用到的spring模块添加到项目中来。修改pom.xml,引入如下模块:

  • spring-core
  • spring-beans
  • spring-context

完整的pom.xml文件内容:

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qikegu.demo</groupId>
<artifactId>spring-helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.5.RELEASE</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.5.RELEASE</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.5.RELEASE</version>
</dependency> </dependencies> </project>

接下来将添加代码,会添加如下文件:

  • Customer.java - bean类
  • applicationContext.xml - bean配置文件
  • Hello.java - 主类

最终的项目结构如下图所示:

后面将详细说明。

3. 创建Bean类

添加Customer Bean类。项目根目录右键弹出菜单,选择:New -> File, 指定目录.../src/main/java/com/qikegu/demo,添加Customer.java文件。

Customer.java代码:

package com.qikegu.demo;

public class Customer { 

    String name; 

    public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public void displayInfo() {
System.out.println("Hello: "+ name);
}
}

这是一个简单的bean类,包含一个属性及其getter和setter方法,另外displayInfo()方法会打印客户名称。

4. 添加Bean的xml装配文件

在resources目录下,添加Bean的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" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="customerBean" class="com.qikegu.demo.Customer">
<property name="name" value="奇客谷"></property>
</bean>
</beans>
  • <bean>标记为指定的类定义bean。
  • <property>标记是bean的一个子元素,用于设置Customer类的属性,设置的属性值将由IoC容器赋值给Customer类实例。

5. 创建主类

添加主类文件Hello.java,内容如下:

package com.qikegu.demo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class Hello {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Customer customerBean = (Customer) context.getBean("customerBean");
customerBean.displayInfo(); ((ClassPathXmlApplicationContext) context).close();
}
}

6. 运行应用程序

右键单击Hello.java,弹出菜单,选择Run As > Java Application,输出:

Hello: 奇客谷

系列教程

  1. Spring 框架介绍
  2. Spring 框架模块
  3. Spring开发环境搭建(Eclipse)
  4. 创建一个简单的Spring应用
  5. Spring 控制反转容器(Inversion of Control – IOC)
  6. 理解依赖注入(DI – Dependency Injection)
  7. Bean XML 配置(1)- 通过XML配置加载Bean
  8. Bean XML 配置(2)- Bean作用域与生命周期回调方法配置
  9. Bean XML 配置(3)- 依赖注入配置
  10. Bean XML 配置(4)- 自动装配
  11. Bean 注解(Annotation)配置(1)- 通过注解加载Bean
  12. Bean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置
  13. Bean 注解(Annotation)配置(3)- 依赖注入配置
  14. Bean Java配置
  15. Spring 面向切面编程(AOP)
  16. Spring 事件(1)- 内置事件
  17. Spring 事件(2)- 自定义事件

创建一个简单的Spring应用的更多相关文章

  1. 【Spring Boot】创建一个简单的Spring Boot的 Demo

    走进Spring Boot 文章目录 走进Spring Boot 环境搭建 新建Spring Boot项目 开始创建项目 配置JDK版本 和 Initializr Service URL 配置Proj ...

  2. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)

    使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...

  3. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)

    这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...

  4. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  5. 在eclipse中配置一个简单的spring入门项目

    spring是一个很优秀的基于Java的轻量级开源框架,为了解决企业级应用的复杂性而创建的,spring不仅可用于服务器端开发,从简单性.可测试性和松耦合性的角度,任何java应用程序都可以利用这个思 ...

  6. 构建一个简单的Spring Boot项目

    11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能. ...

  7. 一个简单的spring boot程序

    搭建一个spring boot项目十分的方便,网上也有许多,可以参考 https://www.cnblogs.com/ityouknow/p/5662753.html 进行项目的搭建.在此我就不详细介 ...

  8. 如何创建一个简单的Visual Studio Code扩展

    注:本文提到的代码示例下载地址>How to create a simple extension for VS Code VS Code 是微软推出的一款轻量级的代码编辑器,免费,开源,支持多种 ...

  9. 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型

    第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...

随机推荐

  1. [网络必学]TCP/IP四层模型讲解【笔记整理通俗易懂版】

    OSI七层模型     表示层:用来解码不同的格式为机器语言,以及其他功能. 会话层:判断是否需要网络传输. 传输层:识别端口来指定服务器,如指定80端口的www服务. 网络层:提供逻辑地址选路,即发 ...

  2. primecoin在ubuntu16.04上部署服务:

    primecoin在ubuntu16.04上部署服务: 一.下载Tomcat,Jdk,primecoin(公司内部文件) 注意Tomcat版本需要高于Jdk的,不然会报错. 二.把它们都解压到你要的安 ...

  3. Hadoop端口与界面

    NameNode:7180 Cloudera Manager集群管理界面: NameNode:50070 NameNode Web UI/数据管理界面:   NameNode:8020/9000 Ha ...

  4. Django:验证email或者name是否已被注册

    灵感: http://blog.csdn.net/xxm524/article/details/48369623 使用表单的dajngo的clean()方法实现

  5. 096、Java中String类之手工入对象池操作

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  6. 069、Java面向对象之对象引用传递

    01.代码如下: package TIANPAN; class Book { // 定义一个新的类 String title; // 书的名字 double price; // 书的价格 public ...

  7. 记一次菜鸡的低级折腾--WordPress get Webshell(后台文件编辑插马)

    挺简单的一个测试站,开始思路错了,一直去网上找WordPress的漏洞,看有没有什么能利用的,未果,因为这个测试站有些地方并不完善,有的漏洞利用不了,菜鸡的我连弱口令都没猜对,没知识就是这么悲哀. 下 ...

  8. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:包装类

    public class WrapperDemo01{ public static void main(String args[]){ int x = 30 ; // 基本数据类型 Integer i ...

  9. MQTT 协议学习:002- 通信报文的构成

    背景 之前工作中参与有关协议调试的时候,发现对于协议帧的解析是比较重要的. 参考:<MQTT协议 -- 消息报文格式>.<基于STM32实现MQTT>.<MQTT协议从服 ...

  10. 浅谈JVM线程调度机制及主要策略

    在之前有说过线程,应该都知道,所谓线程就是进程中的一个子任务,一个进程有多个线程.今天的话主要就是谈一谈JVM线程调度机制.我们结合线程来说,当我们在做多线程的案例时,如一个经典案例,火车站卖票. * ...