Springboot简单web工程搭建
一、springboot简介
1.1SpringBoot介绍
Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。
你可以使用Spring Boot创建Java应用,并使用java -jar启动它或采用传统的war部署方式。
1.1.1 springboot解决的问题
- spring依赖太多了, 且存在版本问题。
- 配置太多了且每次都一样, 大部分工程, 配置每次都是一样的, 从一个地方拷贝到另外一个地方. 且Spring发展10多年, 各种配置版本太多, 对于很多程序员来说, 分不清哪个是有效, 哪个无效。
- 部署太麻烦. 需要tomcat部署, 项目结构也需要照着Java EE的目录结构来写。
1.1.2 springboot的特点
- 创建独立的Spring应用程序
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置Spring
- 提供生产就绪型功能,如指标,健康检查和外部配置
- 绝对没有代码生成和对XML没有要求配置
1.1.3 springboot功能
- 自动配置(auto-configuration)
一项简化配置的功能,比如在classpath中发现有spring security的jar包,则自动创建相关的bean等。
2.starters(简化依赖)
这个比较关键,方便spring去集成各类组件,比如redis、mongodb等等。
1.2 系统要求
SpringBoot 2.1.2,最好安装JDK8以及以上的版本(jdk8),maven使用3.3或者以上的版本(本案例用的3.5.4)。
1.3 按照springboot官网开始第一个Springboot的web项目
打开idea新建一个maven工程
选择maven,点击下一步
创建自己groupId和ArtfactId,点击next
然后finish
查看官网https://spring.io/projects/spring-boot/#learn demo步骤如下:
添加pom依赖:
创建controller文件
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>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>
新建代码:com.liheng.controller.Example.class
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
执行main方法,使用一个浏览器打开 localhost:8080,以下输出:
@RestController和@RequestMapping说明:
@RestController。这被称为一个构造型(stereotype)注解。
通过上图源码可以看出:@RestController的编写方式依赖注解组合,@RestController被@Controller和@ResponseBody标注,表示@RestController具有两者的注解语义,因此在注解处理时@RestController比@Controller多具有一个@ResponseBody语义,这就是@RestController和@Controller的区别,也是@RestController的返回值为何都是经过转换的json的原因。
@RequestMapping注解提供路由信息。它告诉Spring任何来自"/"路径的HTTP请求都应该被映射到home方法。@RestController注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。
@EnableAutoConfiguration。这个注解告诉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组件。
至此已经运行了一个简单的springboot的web项目。下一篇集成mybatis。