虽然本篇讲的是一个最简的SpringBoot应用,可是要说明的是:学习SpringBoot是有门槛的,这个门槛就是,web
1:首先得有框架的基础,好比SSM;spring
2:MAVEN基础。apache
在学好上面二者的基础上,咱们才能明白SpringBoot干了一件什么事情,以及它是怎么帮咱们组织项目结构的。springboot
咱们假设你对于上面二者的知识都已经掌握,再开始对本文的学习。服务器
1.建立web项目app
而后一路next到finish。框架
等待Generating project in Batch mode完毕,最终生成的目录为:maven
2.配置pomide
而后加入parent,spring-boot-starter-parent。spring-boot
咱们在学习使用MAVEN来建立SSM的时候,已经知道parent的大体做用,就是定义一些属性,这些属性包括项目所依赖的大三方jar包。那么在这里就应该大体知道了,spring-boot-starter-parent里面所定义的确定也是一些相似的东西。好比定义好了所依赖的spring的version是多少等等。
spring-boot-starter-parent自己也是有版本的,在这里,咱们使用的是2.1.3.RELEASE这个版本,
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
加入后,在idea中会自动帮咱们到中央仓储中下载jar包。若是是第一次操做,内容则有点大(以下图达到了近600M),因而可知spring-boot-starter-parent的pom文件中会定义了多少依赖包,
除了spring-boot-starter-parent,因为当前项目是web项目,故让咱们再加入一个spring-boot-starter-web的依赖,最终,看到的pom文件以下:
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<name>testboot01</name>
<groupId>com.zuikc</groupId>
<artifactId>testboot01</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
在上面的pom中,细心的同窗应该还能发现有一个spring-boot-maven-plugin的插件,一会咱们在讲到项目启动的时候会说明这个插件。
3.测试代码
测试代码很是简单,让咱们建立一个HelloApplication,以下,
package com.zuikc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@SpringBootApplication
@Configuration
@Controller
public class HelloApplication {
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello zuikc.com!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
接下来对代码进行一个简单的说明。这是一个最精简的SpringBoot的项目,能够看到代码有若干注解,
@SpringBootApplication:是Spring Boot项目的核心注解,代表这是一个由springboot启动的项目;
@Configuration:代表这是一个配置Spring的配置类。@Configuration由spring3.0开始被支持;
@Controller:代表这是一个SpringMVC的Controller控制器;
@RequestMapping咱们则已经很熟悉了,配置一个url地址,剩下的@ResponseBody则无需多说,各位都明白。
奇妙就在于main方法,这个HelloApplication带main方法,就说明它能做为一个应用程序自启动。
事实上也确实如此!
让咱们直接对代码,run as application 就行!
能看到这样的输出,
这代表什么?
这代表咱们执行main方法后,springboot为咱们启动了一个web服务器,可以为咱们提供web服务!
而后,localhost吧……
4.测试代码的maven启动方式
除了run as application,因为在pom文件中咱们配置了spring-boot-maven-plugin,因此咱们可使用maven的启动方式,
紧接着启动命令,能看到:
再localhost一下,看是否是很成功呢!
5.SpringBoot的优势
想必至此,你们应该已经明白了SpringBoot的优势。它让咱们执行application同样的来执行JavaWeb项目。而且,基础0配置,就让这个JavaWeb项目支持了Spring和SpringMVC,而往常,咱们每每要进行若干细致的配置才行。
有经验的同窗,应该也已经明白了这里面的窍门,同时也知道这算不上多玄幻的技术。可是就是这奇思妙想,却极大的提高了咱们这些开发人员的效率。
感谢关注“码农星球”。本文版权属于“码农星球”。咱们提供咨询和培训服务,关于本文有任何困惑,请关注并联系咱们。