springboot入门----第一个springboot项目(代码片段)

花伤情犹在 花伤情犹在     2023-01-04     740

关键词:

Spring Boot 简介

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

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

Spring Boot 入门

创建一个 Module,选择类型为 Spring Initializr 快速构建

设置 GAV 坐标及 pom 配置信息

选择 Spring Boot 版本及依赖

会根据选择的依赖自动添加起步依赖并进行自动配置

设置项目名称、项目路径

提示:点击 Finish,如果是第一次创建,在右下角会提示正在下载相关的依赖

Show all

项目创建完毕,如下

项目结构

  • static:存放静态资源,如图片、CSS、JavaScript 等
  • templates:存放 Web 页面的模板文件
  • application.properties/application.yml 用于存放程序的各种依赖模块的配置信息,比如 服务端口,数据库连接配置等

对 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>
    <!--继承 SpringBoot 框架的一个父项目,所有自己开发的 Spring Boot 都必须的继承-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!--当前项目的 GAV 坐标-->
    <groupId>com.bjpowernode.springboot</groupId>
    <artifactId>002-springboot-springmvc</artifactId>
    <version>1.0.0</version>
    <!--maven 项目名称,可以删除-->
    <name>002-springboot-springmvc</name>
    <!--maven 项目描述,可以删除-->
    <description>Demo project for Spring Boot</description>
    <!--maven 属性配置,可以在其它地方通过$方式进行引用-->
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--SpringBoot 框架 web 项目起步依赖,通过该依赖自动关联其它依赖,不需要我们一个一个去添加了
       -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--SpringBoot 框架的测试起步依赖,例如:junit 测试,如果不需要的话可以删除-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!--SpringBoot 提供的打包编译等插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

对 SpringBoot 项目结构进行说明

  • mvn | mvnw | mvnw.cmd:使用脚本操作执行 maven 相关命令,国内使用较少,可删除
  • .gitignore:使用版本控制工具 git 的时候,设置一些忽略提交的内容
  • static|templates:后面模板技术中存放文件的目录
  • application.properties:SpringBoot 的配置文件,很多集成的配置都可以在该文件中进行配置,例如:Spring、springMVC、Mybatis、Redis 等。目前是空的
  • Application.java:SpringBoot 程序执行的入口,执行该程序中的 main 方法,SpringBoot就启动了

创建一个 Spring MVC 的 SpringBootController

SpringBootController 类所在包:com.lcz.springboot.controller

package com.lcz.springboot.controller;

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

@Controller
public class SpringBootController 
    @RequestMapping(value = "/springBoot/say")
    public @ResponseBody String say() 
        return "Hello,springBoot!";
    


注意:新创建的类一定要位于 Application 同级目录或者下级目录,否则 SpringBoot 加载不到。

例如Application在springboot目录下,那么你新创建的类只能在springboot目录下,可以直接在springboot目录下也可以是springboot目录下的其它目录,一句话来说:只要在springboot目录内就可以读取到!

在 IDEA 中右键,运行 Application 类中的 main 方法

通过在控制台的输出,可以看到启动 SpringBoot 框架,会启动一个内嵌的 tomcat,端口号为 8080,上下文根为空

在浏览器中输入http://localhost:8080//springBoot/say

入门案例分析

  • Spring Boot 的父级依赖 spring-boot-starter-parent 配置之后,当前的项目就是 SpringBoot 项目
  • spring-boot-starter-parent 是一个 Springboot 的父级依赖,开发SpringBoot 程序都需要继承该父级项目,它用来提供相关的 Maven 默认依赖,使用它之后,常用的 jar包依赖可以省去 version 配置
  • Spring Boot 提供了哪些默认 jar 包的依赖,可查看该父级依赖的 pom 文件
  • 如果不想使用某个默认的依赖版本,可以通过 pom.xml 文件的属性配置覆盖各个依赖项

通过 pom.xml 文件的属性配置覆盖各个依赖项,比如覆盖 Spring 版本:

<properties>
 <spring-framework.version>5.0.0.RELEASE</ spring-framework.version >
</properties>
  • @SpringBootApplication 注解是 Spring Boot 项目的核心注解,主要作用是开启Spring 自动配置,如果在 Application 类上去掉该注解,那么不会启动SpringBoot程序
  • main 方法是一个标准的 Java 程序的 main 方法,主要作用是作为项目启动运行的入口
  • @Controller 及 @ResponseBody 依然是我们之前的 Spring MVC,因为 Spring Boot的里面依然是使用我们的 Spring MVC + Spring + MyBatis 等框架

Spring Boot 的核心配置文件

Spring Boot 的核心配置文件用于配置 Spring Boot 程序,名字必须以 application 开始

核心配置格式

.properties 文件(默认采用该文件)

通过修改 application.properties 配置文件,在修改默认 tomcat 端口号及项目上下文件根

键值对的 properties 属性文件配置方式:

#设置内嵌 Tomcat 端口号
server.port=9090
#配置项目上下文根
server.servlet.context-path=/003-springboot-port-context-path

配置完毕之后,启动浏览器测试

页面显示结果

.yml 文件

yml 是一种 yaml 格式的配置文件,主要采用一定的空格、换行等格式排版进行配置。yaml 是一种直观的能够被计算机识别的的数据序列化格式,容易被人类阅读,yaml 类似于 xml,但是语法比 xml 简洁很多,值与前面的冒号配置项必须要有一个空格, yml 后缀也可以使用 yaml 后缀

注意:当两种格式配置文件同时存在,使用的是.properties 配置文件,为了演示 yml,可以先将其改名,重新运行 Application,查看启动的端口及上下文根

效果

多环境配置

在实际开发的过程中,我们的项目会经历很多的阶段(开发->测试->上线),每个阶段的配置也会不同,例如:端口、上下文根、数据库等,那么这个时候为了方便在不同的环境之间切换,SpringBoot 提供了多环境配置,具体步骤如下

为每个环境创建一个配置文件,命名必须以 application-环境标识.properties|yml

入门springboot-helloworld

关于SpringBoot简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合-------------------------------------------开始新建第一个项目:  CreateNewProject-----Maven--新建一个项目  Pom.xml中加入springboot启动的依赖  新建一个启动类,... 查看详情

springboot入门篇第1篇第一个spring-boot程序(多种搭建方式)(代码片段)

...我为什么,反正我就是可以这样运行!1.创建一个springboot项目可以 查看详情

springboot入门

SpringBoot入门一、第一个SpringBoot程序1.导入springBoot依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RE 查看详情

springboot入门及第一个案例(代码片段)

一:SpringBoot是什么springboot是对spring的缺点进行改善和优化,约定大于配置 开箱即用 没有代码生成也无需xml文件配置  可以修改属性值来满足需求1)SpringBoot使编码变简单2)SpringBoot使配置变简单3)SpringBoot使部署变简... 查看详情

springboot(入门)

使用IDEA创建SpringBoot: 注意:JavaVersion要选8以上。然后按步骤下一步,创建项目时是需要联网的。好了,我们的第一个SpringBoot项目就诞生了。application.properties是主要文件!可以简单的配置一下数据源:#设置服务端口号server.po... 查看详情

第01课:springboot入门(代码片段)

什么是SpringBootSpringBoot是由Pivotal团队提供的基于Spring的全新框架,其设计目的是为了简化Spring应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无需定义大量的XML配... 查看详情

springboot入门到精通-spring的注解编程(代码片段)

SpringBoot入门到精通系列SpringBoot入门到精通-Spring的注解编程(一)SpringBoot入门到精通-SpringBoot入门(二)SpringBoot入门到精通-Spring的基本使用(三)SpringBoot入门到精通-SpringBoot集成SSM(四)前言SpringBoot并不是一个新技术了,但是我发现... 查看详情

springboot基础入门

简介官网:​​https://spring.io/projects/spring-boot​​SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。SpringBoot不是Spring官方的框架模式,而是一个团队在Spring4.0版本上二次开发并开... 查看详情

springboot入门

一,SpringBoot 1,如果使用Spring开发一个"HelloWorld"的web应用:?创建一个web项目并且导入相关jar包。SpringMVCServlet?创建一个web.xml?编写一个控制类(Controller)?需要一个部署web应用的服务器如tomcat2,SpringBoot特点:?SpringBoot设计目的是... 查看详情

springboot入门

...生态系统提供了一种固定的、约定优于配置风格的框架。SpringBoot具有如下特性:为基于Spring的开发提供更快的入门体验开箱即用,没有代 查看详情

springboot学习笔记-1第一个springboot示例

  springboot是一个微框架,其设计的目的是为了简化spring框架的搭建和配置过程.从而使开发人员不再需要定义样板化的配置.下面是springboot的入门案例:它演示了利用springboot省去配置文件,然后通过运行Java程序,使得内置在springboot... 查看详情

springboot入门--快速搭建一个springboot框架

原文出处 前言在开始之前先简单介绍一下springboot,springboot作为一个微框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序,总的来说springboot不是为了要替代... 查看详情

springboot最佳实践快速入门

一、关于SpringBoot在开始了解SpringBoot之前,我们需要先了解一下Spring,因为SpringBoot的诞生和Spring是息息相关的,SpringBoot是Spring发展到一定程度的一个产物,但并不是Spring的替代品,SpringBoot是为了让程序员更好的使用Spring。说到... 查看详情

springboot入门--介绍和第一个例子

.../www.cnblogs.com/junyang/p/8151802.html“越来越多的企业选择使用springboot开发系统,springboot牛在什么地方?难不难学?心动不如行动,让我们一起开始学习吧!”使用Springboot,可以轻松的创建独立运行的程序,非常容易构建独立的服务... 查看详情

springboot快速入门

...堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用SpringBoot来让你更易上手,更简单快捷地构建Spring应用!SpringBoot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的... 查看详情

springboot入门

一、SpringBoot入门1、SpringBoot简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martinfowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过Http的... 查看详情

springboot入门

一、SpringBoot入门1、SpringBoot简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martinfowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的... 查看详情

springboot入门

一、SpringBoot入门1、SpringBoot简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martinfowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的... 查看详情