首先说下什么是Spring Boot。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。
使用spring boot有什么好处
其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢?
● 1)配置web.xml,加载spring和spring mvc
● 2)配置数据库连接、配置spring事务
● 3)配置加载配置文件的读取,开启注解
● 4)配置日志文件
● …
● 配置完成之后部署tomcat 调试
● …
但是如果使用spring boot呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!(引用:http://www.mooooc.com/springboot/2016/01/06/springboot(一)-入门篇.html)快速创建SpringBoot项目
工具:idea
jdk:1.8
步骤:File—>new —>Project
Next,这里废话不多说,直接上图,就是web项目的基本创建方式。
Finish,至此,项目创建完成,让我们看下项目的结构。
没错,自动生成了application主程序和properties配置文件,还有pom.xml,
<?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.example</groupId>
<artifactId>springbootdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
支持web的模块
<ependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
测试模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
我们来添加第一个Controller吧
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author dongzy
* @date 2018/5/23.
*/
@RestController
public class HelloWorldController {
@RequestMapping("say")
public String sayHello(){
return "Hello Spring Boot";
}
}
注意这里的@RestController 和 @RequestMapping注解
@RestController使此类的所有方法以json串返回,@RequestMapping接收请求
启动DemoApplication里的main方法
默认使用其封装的tomcat,端口8080启动。
浏览器输入:localhost:8080/say
那么如果我想用8081启动呢?别忘了这里有个properties文件没有提到,打开写上这句:
文件:application.properties
server.port = 8081
重新启动
拓展:
涉及多环境打包(自己尝试一下)
application.properties
spring.profiles.active=dev
application-dev.properties
server.port = 8081
application-test.properties
server.port = 8082
有童鞋表示,把controller换一个包就访问不到了,别急,后面我们会用到扫包的注解