Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,只需"just run"。 我们为Spring平台及第三方库提供开箱即用的设置,这样就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。
可以使用Spring Boot创建Java应用,并使用java -jar启动它或采用传统的war部署方式。
默认情况下,使用SpringBoot 2.1.2最新版本,最好安装JDK8以及以上的版本,maven使用3.3或者以上的版本(本文使用maven3.5版本)
步骤一:新建一个普通maven项目:
步骤二:创建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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>enjoy</groupId> <artifactId>springbootvip</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project>步骤三:编写代码
为了完成应用程序,我们需要创建一个单独的Java文件。Maven默认会编译src/main/java下的源码 新建:cn.enjoy.Example
package cn.enjoy; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") String home() { return "Hello SpringBoot!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Example.class, args); } }小贴士: @RestController和@RequestMapping说明: @RestController:这被称为一个构造型(stereotype)注解。它为阅读代码的人们提供建议。对于Spring,该类扮演了一个特殊角色。在本示例中,我们的类是一个web @Controller,所以当处理进来的web请求时,Spring会询问它。 @RequestMapping:注解提供路由信息。它告诉Spring任何来自"/"路径的HTTP请求都应该被映射到home方法。@RestController注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。 @EnableAutoConfiguratio:这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。 main方法:这只是一个标准的方法,它遵循Java对于一个应用程序入口点的约定。我们的main方法通过调用run,将业务委托给了Spring Boot的SpringApplication类。SpringApplication将引导我们的应用,启动Spring,相应地启动被自动配置的Tomcat web服务器。我们需要将Example.class作为参数传递给run方法来告诉SpringApplication谁是主要的Spring组件。
执行main方法,使用一个浏览器打开?localhost:8080,以下输出: Hello World!Spring Boot不需要使用任何特殊的代码结构,然而,这里有一些地方需要注意使用"default"包。
当类没有包含package声明时,它被认为处于default package下。通常不推荐使用default package,并应该避免使用它。因为对于使用@ComponentScan,@EntityScan或@SpringBootApplication注解的Spring Boot应用来说,来自每个jar的类都会被读取,这会造成一定的问题。
定位main应用类 通常建议你将main应用类放在位于其他类上面的根包(root package)中。通常使用@EnableAutoConfiguration注解你的main类,并且暗地里为某些项定义了一个基础“search package”。 例如,如果你正在编写一个JPA应用,被@EnableAutoConfiguration注解的类所在包将被用来搜索@Entity项。
使用根包允许你使用@ComponentScan注解而不需要定义一个basePackage属性。如果main类位于根包中,你也可以使用@SpringBootApplication注解。
下面是一个典型的结构:
cn +- enjoy +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- web +- CustomerController.java下一章:springboot简单入门(二):springboot环境搭建
