Spring Boot入门

Posted hnewa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot入门相关的知识,希望对你有一定的参考价值。

        Spring 框架可以说是 Java 开发人员使用的最流行的应用程序开发框架之一。它目前由大量提供一系列服务的模块组成。包括模块容器,为构建横切关注点提供支持的面向切面编程(AOP),安全框架,数据存取框架,Web 应用框架和用于模块测试提供支持的类。Spring 框架的所有组件都通过依赖注入粘在一起。依赖注入(也称为控制反转)使设计和测试松散耦合的软件模块变得更容易。

        多年来 Spring 框架已变得足够成熟。几乎所有 Java 企业应用需要用到的基础组件都可以在 Spring 框架中找到。但在一个新应用中将所有需要的 Spring 组件整合并配置好并不容易。这包括在 gradle/maven 中设置依赖库,使用 xml、注解或 java 代码配置需要的 Spring Bean。Spring 开发者意识到这里的绝大多数工作是可以可以自动化的,Spring Boot 出现了!

一.Spring Boot简介

概述

        1.Spring boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程,也可以说Spring boot能简化我们之前采用SpringMVC+Spring+Mybatis框架进行开发的过程。

        2.在以往我们采用SpringMVC+Spring+Mybatis框架进行开发的时候,搭建和整合三大框架,我们需要做很好工作,比如配置web.xml,配置Spring,配置Mybatis,并将它们整合在一起等等,而Spring boot框架对此开发过程进行了革命性的颠覆,抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程。

        3.所以采用Spring boot可以非常容易和快速的创建基于Spring框架的应用程序,它让编码变简单了,配置变简单了,部署变简单了,监控也变简单了。

        4.正因为Spring boot它化繁为简,让开发变得极其简单和快捷,所以在业界备受关注。Spring boot在国内的关注趋势也日渐超过Spring。

特性

        1.能够快速创建基于Spring的应用程序。(简化配置)

        2.能够直接使用java的main方法启动内嵌的Tomcat,Jetty服务器运行Spring boot程序,不需要部署war包文件。

        3.提供约定的starter POM来简化来简化Maven配置,让Maven配置变得简单。

        4.根据项目的maven依赖配置,Spring boot自动配置Spring,SpringMVC等其它开源框架。

        5.提供程序的健康检查等功能。(检查内部的运行状态等)

        6.基本可以完全不使用xml配置文件,采用注解配置。(或者默认约定的配置,代码中已经实现)

二.入门程序(Hello World)

maven创建项目

技术图片

技术图片

技术图片

技术图片

导入Spring Boot相关依赖(pom.xml)

https://docs.spring.io/spring-boot/docs/2.0.8.RELEASE/reference/htmlsingle/#getting-started-maven-installation

技术图片
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5 
 6     <groupId>com.example</groupId>
 7     <artifactId>myproject</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9 
10     <!-- Inherit defaults from Spring Boot -->
11     <parent>
12         <groupId>org.springframework.boot</groupId>
13         <artifactId>spring-boot-starter-parent</artifactId>
14         <version>2.0.8.RELEASE</version>
15     </parent>
16 
17     <!-- Add typical dependencies for a web application -->
18     <dependencies>
19         <dependency>
20             <groupId>org.springframework.boot</groupId>
21             <artifactId>spring-boot-starter-web</artifactId>
22         </dependency>
23     </dependencies>
24 
25     <!-- Package as an executable jar -->
26     <build>
27         <plugins>
28             <plugin>
29                 <groupId>org.springframework.boot</groupId>
30                 <artifactId>spring-boot-maven-plugin</artifactId>
31             </plugin>
32         </plugins>
33     </build>
34 
35 </project>
pom.xml

编写主程序,用来启动Spring Boot应用(HelloWorldMainApplication.java)

技术图片
 1 package com.hmz;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 
 6 /**
 7  * @SpringBootApplication 用来标注一个主程序类,说明这是一个Spring Boot应用
 8  */
 9 @SpringBootApplication
10 public class HelloWorldMainApplication {
11 
12     public static void main(String[] args) {
13         //启动Spring Boot应用
14         SpringApplication.run(HelloWorldMainApplication.class, args);
15     }
16 
17 }
HelloWorldMainApplication.java

编写相关的Controller(HelloWorldController.java)

技术图片
 1 package com.hmz.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.ResponseBody;
 6 
 7 @Controller
 8 public class HelloWorldController {
 9 
10     @RequestMapping("/hello")
11     @ResponseBody
12     public String sayHello() {
13         return "Hello World!";
14     }
15 
16 }
HelloWorldController.java

运行主程序,进行测试

技术图片

技术图片

技术图片

使用Spring Initializer快速创建Spring Boot项目

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

只需写一个Controller就可以了(HelloWorldController.java)

技术图片
 1 package com.hmz.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.ResponseBody;
 6 
 7 @Controller
 8 public class HelloWorldController {
 9 
10     @RequestMapping("/hello")
11     @ResponseBody
12     public String sayHello() {
13         return "Hello World!";
14     }
15 
16 }
HelloWorldController.java

 



以上是关于Spring Boot入门的主要内容,如果未能解决你的问题,请参考以下文章

Spring/Spring-Boot 学习2 入门知识

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

Spring Boot的简单入门