Springboot 入门(1):Hello SpringBoot
Springboot 入门(1):Hello SpringBoot
Springboot是基于Spring的开源的、开箱即用的web开发框架,它使用“习惯优于配置”的理念(项目中存在大量的配置,开发者可以不用或者少量的Spring配置)。使用Springboot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级的Spring项目。
1.创建Springboot工程
构建一个Springboot的Maven项目,推荐使用Spring Initializer,从本质上来说就是构建一个Web应用程序,它能生成Springboot项目结构。
Spring Initilizer生成主要有两种方法:
- 通过IntelliJ IDEA方法
- WEB页面
1)通过IntelliJ IDEA方法(最常用)
IDEA是目前最常用的IDE(个人使用过eclipse和IDEA,觉得IDEA更好用)。
创建SpringBoot操作步骤如下:
注:在公司内网可能无法连接https://start.spring.io
该步骤主要添加需要加载的模块。Web模块提供了Spring MVC和tomcat等web应用servlet;MySQL模块提供了MySQL JDBC连接器。
根据上面的操作就初始化了一个Springboot的框架了,项目结构如下:
2)Web界面
-
访问:https://start.spring.io 选择构建工具Maven
-
Project、Springboot版本以及构建工程的信息,例如:
-
点击Generate Project下载项目压缩包
-
导入到IDE中
2.POM文件配置
Maven的POM配置文件主要由:<parent></parent>
、<properties></properties>
、<dependencies></dependencies>
、<build></build>
等部分组成。每部分的解释如下:
<?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>
<!--Springboot的父级依赖,主要配置Springboot的版本,spring-boot各模块的artifactId-->
<!--都是以Spring-boot-starter-*开头,spring-boot-starter-parent是一个特殊的starter,-->
<!--它用来提供相关的Maven依赖,使用它之后,常用的包依赖可以省去version标签。-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.ross.it</groupId>
<artifactId>chapter1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>chapter1</name>
<description>Demo project for Spring Boot</description>
<!--依赖项的版本-->
<properties>
<java.version>1.8</java.version>
</properties>
<!--依赖管理-->
<dependencies>
<!--web应用的maven依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--MySQL依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!--Springboot maven插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3.认识启动类
Springboot使用一个主类xxxApplication来加载整个web工程,该类必须位于src/main/java目录下的包中。
主类代码如下:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Chapter1Application {
public static void main(String[] args) {
SpringApplication.run(Chapter1Application.class, args);
}
}
-
@SpringBootApplication
@SpringBootApplication是一个复合注解,包括@ComponentScan、@SpringBootConfiguration和@EnableAutoConfiguration,主要用来表示该类为启动类,该注解根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器
关于该注解的详解参照:https://www.cnblogs.com/duanxz/p/3756364.html -
main方法
main方法是一个标准的Java应用的main方法,主要作用是作为项目启动的入口
4.添加Controller
在web开发中,控制层主要处理客户端的请求。
新建controller文件夹,并创建HelloController类,具体代码如下:
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping(value = "hello")
public String getHello(){
return "Hello Springboot";
}
}
注解含义:
- @RestController:等价于@[email protected]的复合用法,在返回时会自动将返回对象转换成json格式。
- @RequestMapping:可以在控制器类的级别和/或其中的方法的级别上使用,value的值表示请求该方法的请求路径。上例中客户端的请求路径为:/hello;若控制器类上添加了@RequestMapping("/home"),则请求的路径为:/home/hello。
5.运行
运行Chapter1Application类,控制台打印如下日志表示启动成功:
从运行日志中可以看出,springboot启动了内嵌的tomcat,并且默认端口为:8080.
访问http://localhost:8080/hello
到此,就完成最简单版本的springboot应用的搭建
6.总结
- 与SSM框架相比,使用Springboot上手更简单,并且省去了繁琐的配置;
- 使用Springboot能够更优雅地开发Restful API,能够更好地适应前后端分离的场景;
- 使用场景广,Springboot与Spring cloud相结合,目前广泛地应用于云环境下微服务开发。
注:作为非科班Java新手,若有不对之处,请多多指教!!