Bootstrap

【Spring Boot 快速入门】一、周末建立了Spring Boot专栏,欢迎学习交流

前言

  周末是最好的充电学习时光,周末建立了Spring Boot专栏,欢迎学习交流。Spring Boot是Spring框架的升级版,由于Spring Boot简化Spring应用开发的一个框架,整个Spring技术栈,为J2EE开发的一站式解决方案。从而Spring Boot得到了很快的发展。

  本专栏用于 Java 开发人员,尤其是初学 Spring Boot 和需要从传统 Spring 转向 Spring Boot 开发的技术人员。

初始

  为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架,它就是 Spring Boot。

  Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健壮。随着近些年来微服务技术的流行,Spring Boot 也成为了时下炙手可热的技术。

特点

Spring Boot 具有以下特点:

  • 独立运行的 Spring 项目   Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java –jar xx.jar” 即可运行。

  • 内嵌 Servlet 容器   Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包 。

  • 提供 starter 简化 Maven 配置   Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。

  • 提供了大量的自动配置  Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

  • 自带应用监控   Spring Boot 可以对正在运行的项目提供监控。

  • 无代码生成和 xml 配置   Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。

创建第一个项目

在浏览器输入http://start.spring.io/进入如下界面

  • Project:选择项目的类型,本文使用Maven Project

  • Language:建立Spring Boot项目使用的开发语言,本文中选择Java。

  • Spring Boot:选择需要创建的SpringBoot 的版本。其中Snapshot版本代表不稳定、尚处于开发中的版本,Release版本则代表稳定的版本,本文选择2.5.3。

  • M1里程碑版一个GA后,一般有多个里程碑,例如 M1 M2 M3。

  • Project Metadata:设置项目的基础信息

  • Group:项目唯一的标识符实际对应项目中的package包。

  • Artifact:项目的唯一的标识符,实际对应项目的project Name名称,Artifact不可包含大写字母。

  • Name:项目名称

  • Description:项目的一个描述

  • Package name:包名称

  • Packaging:打包类型,项目选择jar包还是war包,本文选择jar包

  • Java:Jdk使用的版本,本文使用JDK8

  • Dependencies:建立项目使用的依赖,包含:DEVELOPER TOOLS、WEB、TEMPLATE ENGINES、SECURITY、SQL、NOSQL、MESSAGING、I/O、OPS、OBSERVABILITY、TESTING、SPRING CLOUD、SPRING CLOUD TOOLS等很多的依赖。

下载项目

点击 Generate Ctrl + ⏎ 按钮下载项目

解压项目,项目文件如下

导入到idea

开发第一个Spring Boot项目

@SpringBootApplication

  @SpringBootApplication注解包含:@Target、@Retention、@Documented、@Inherited、@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan。SpringBootApplication是springboot的基本注解,是写在springboot的启动类上的注解,目的是开启spring Boot 的自动配置。其中:

  • @ComponentScan:可以配置多个需要扫描的包

  • @Target:用于设定注解使用范围。

  • @Retention:被它所注解的注解保留多久。

  • @Documented:在自定义注解的时候可以使用@Documented来进行标注,如果使用@Documented标注了,在生成javadoc的时候就会把@Documented注解给显示出来。

  • @EnableAutoConfiguration:开启自动配置。

  • @SpringBootConfiguration:指示此类提供了应用程序配置。

  • @SpringBootApplication的目的只是为了简化,让开发人员少写代码,实现相同的目标,这也算Java封装思想的提现。

POM依赖包

       
            org.springframework.boot
            spring-boot-starter-web
        

  • spring-boot-starter-web:依赖启动器的主要作用是提供Web开发场景所需的底层所有依赖。

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

  • spring-boot-starter-test:进行单元测试的相关依赖。

         
            org.apache.commons
            commons-lang3
            3.7
        

  • commons-lang3:集成的相关工具类。

配置文件

  配置文件application.properties,为了演示项目,本文仅配置一个简单的服务端口。在application.properties中可以配置更多的服务的相关参数,包含:SQL、MQ、Redis、项目名称等等。

项目原码

pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.0.RELEASE
         
    
    com.example
    simple
    0.0.1-SNAPSHOT
    simple
    Demo project for Spring Boot and MyBatis and Swagger

    
        1.8
    

    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.apache.commons
            commons-lang3
            3.7
        
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

测试Controller

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @ClassName TestController
 * @Description: 测试接口
 * @Author JavaZhan @公众号:Java全栈架构师
 * @Date 2020/6/13
 * @Version V1.0
 **/
@Controller
@RequestMapping("/test")
public class TestController {

    @RequestMapping("hello")
    @ResponseBody
    public String  getTest(){
        return "Hello World ,This is  Test";
    }
}

启动类DemoSimpleApplication

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @MethodName: DemoSimpleApplication
 * @Description: 启动类
 * @Author: JavaZhan @公众号:Java全栈架构师
 * @Date: 2020/6/13
 **/
@SpringBootApplication
public class DemoSimpleApplication {

    /**
     * @MethodName: main
     * @Description:
     * @param args
     * @Return: void
     * @Author: JavaZhan @公众号:Java全栈架构师
     * @Date: 2020/6/13
     **/
    public static void main(String[] args) {
        SpringApplication.run(DemoSimpleApplication.class, args);
    }

}

配置文件

配置文件application.properties,为了演示项目,本文仅配置一个简单的服务端口。

server.port=8888

结语

  本次基于Spring Boot建立的第一个项目就完成了,执行DemoSimpleApplication类,在浏览器中输入http://localhost:8888/test/hello 就会返回正常的“Hello World ,This is Test”信息。好了,本次第一个Spring Boot项目启动啦!

  好了,简单的SpringBoot项目就搭建完成了,下一章进行项目分析,预计第一期SpringBoot整合如下依赖进行学习。

  

  好了,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。