引言
现在是晚上的12点整,一个人学习到深夜无疑也是一种快乐啊。不过大量新知识的摄入,也着实让自己的头脑有点晕,趁着还没有睡意,赶紧来写一篇博客压压惊——SpringBoot的HelloWorld案例,通过这个案例对SpringBoot来一个快速入门。
SpringBoot简介
按照惯例,在学习SpringBoot之前,我们需要了解一下什么是SpringBoot?
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
这是百度百科对SpringBoot框架的介绍,而事实上,SpringBoot框架的功能非常强大,通过SpringBoot,你能够非常轻松快速地构建出一个应用,而且SpringBoot团队已经封装了许多默认的配置,所以你不需要任何的代码生成和XML文件配置。并且它内嵌Web容器,能够使你在部署运行应用时也能够非常快乐。
这么优秀的框架,岂有不学的道理?
开发环境
在编写SpringBoot的入门案例之前,你得准备一下开发环境:
- jdk
- maven
- IDEA
- SpringBoot
对于开发工具的选择,根据自己的喜好即可,但是鉴于IDEA开发工具的强大功能,所以我推荐使用IDEA开发,IDEA在业界被公认为是最好的java开发工具之一。
案例入门
如果你是第一次安装maven环境,你需要做如下配置:
给maven 的settings.xml配置文件的profiles标签添加
<profile>
<id>jdk‐1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
jdk版本对应你的jdk即可,我这里是1.8的jdk。
如果你是第一次安装IDEA工具,你还需要将maven整合到该工具中,点击IDEA开始界面的Configure,选择Settings:
然后找到Maven选项,修改如下内容:
将其修改为自己安装的Maven所在的目录。
环境搭建完成之后,我们来编写HelloWorld案例:
1、创建maven工程
点击Create New Project,然后在弹出的窗体中选择Maven,选择下一步,来到如下界面:
不会创建Maven工程的话,可以看看我之前的博客,我有写过一篇Maven实战,这里就不对Maven进行讲解了。填完后我们点击下一步,然后点击完成,
2、导入SpringBoot相关的依赖
工程创建好后,我们打开pom.xml文件,导入SpringBoot框架相关的依赖:
<?xml version="1.0" encoding="UTF-8"?>
<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.wwj</groupId>
<artifactId>spring-boot-helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
然后Maven会自动为我们导入相关的jar包。
3、编写主程序
接着我们在src目录下的java文件夹中新建一个HelloWorld类作为应用的主程序:
package com.wwj.helloworld;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @SpringBootApplication 标注一个主程序类,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloWorld {
public static void main(String[] args) {
// 启动应用
SpringApplication.run(HelloWorld.class,args);
}
}
主程序代码非常简单,我们只需要将该类用@SpringBootApplication注解标注,然后执行SpringApplication类的run()方法即可。
接着我们来编写控制器:
package com.wwj.helloworld;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World!";
}
}
控制器类的代码也十分简单,将该类用@Controller注解标注为控制器交给IOC容器管理,hello()方法使用@RequestMapping注解标注访问地址,这些其实都是Spring和SpringMVC框架的知识,不懂的话也可以看看我之前的文章。
4、启动应用
到这里,一个入门的SpringBoot项目就编写完成了,是不是很简单?我们只是编写了几条代码,并没有任何配置文件的编写,相比之前的Spring和SpringMVC,我们都需要去编写繁琐的配置文件,而在SpringBoot中,这些都不需要我们去做,我们只需要把重心放在业务逻辑上即可。
接下来启动应用,我们来到HelloWorld主程序类,执行main()方法即可。
这样就说明应用启动成功了,我们到浏览器进行访问测试一下,访问http://localhost:8080/hello
没错,我们甚至都不需要拼上项目名。
无论是从项目的编写,项目的启动和运行,我们都感受到了SpringBoot给我们带来的便利。我们还可以加入一个部署插件,来进一步简化应用的部署。
<!‐‐ 该插件可以将应用打包成一个可执行的jar包;‐‐>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
将该依赖添加到pom.xml中,然后点击右侧maven工具栏,展开项目文件夹,然后展开Lifecycle文件夹,接着双击运行package:
此时只需等待片刻,插件就会自动将项目打成jar包,存放在target目录下:
因为SpringBoot内嵌了Web容器,所以我们无需任何环境(Java环境还是必须要有的),只需要将该jar包运行即运行了该应用,省去了很多部署的工作。
快速生成SpringBoot应用
事实上,IDEA还为开发者们提供了一种更快捷地创建SpringBoot应用的方式:
在New Project窗口中选择Spring Initializr,点击下一步:
填写内容任意,然后继续下一步:
这里选择导入模块,你需要什么功能就选择什么模块,这里我就简单一点,只选择了一个Web模块,然后点击下一步,再点击完成即可。
可以看到,IDEA为我们自动生成了文件目录和主程序代码,包括依赖管理:
所以这也是为什么要选择IDEA作为开发工具的原因,这样在进行SpringBoot框架学习的时候也可以省去很多不必要的时间。
总结
对于SpringBoot的快速入门就说到这里,本篇文章并没有对SpringBoot的任何代码作讲解,我的目的也仅仅是让大家感受一下SpringBoot框架的强大和便利,在后续的文章中,我会对SpringBoot框架的部分内容作详细的讲解,也请大家持续关注。