一、    创建方式

1.1  spring initializer

可以在IDE中安装springinitializer插件,选择SDK和输入URL,选择需要依赖的模块即可自动创建工程。

1.2  spring.io

登录start.spring.io网站,选择或者填入相关信息即可创建工程并下载到本地,然后在IDE中加载下载的工程。

Spring boot当前最后选择1.5.*版本,2.*版本需要依赖spring 5.0以及JDK8。

1.3  原始搭建

以前创建maven项目的web工程时,选择的框架是archetype-webapp,最后打包成war包。因为spring boot 最终是通过jar包方式运行,所以这里选择archetype-quickstart框架。

创建好框架后,在pom.xml中引入以下依赖。

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.12.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version>
</properties>
 
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

创建spring boot的启动类

@SpringBootApplication
public class BimApplication
{public static void main(String[] args){SpringApplication.run(BimApplication.class, args);}
}

添加控制类Controller

@Controller
public class UserController
{@RequestMapping("/displayUser")@ResponseBodypublic String displayUser(){return "tsinson";}
}

启动工程后,可以通过localhost:8080/displayUser访问。

二、工程结构解析

Spring boot常见结构目录如下:

1.     继承spring-boot-starter-parent,spring-boot-starter-parent包含基础的依赖配置。

2.     引入spring-boot-starter-web,此依赖会自动引入spring web相关的包。

3.     BimApplication是程序的主函数,此函数有@SpringBootApplication注解。此注解主要有三个注解。

(1)@SpringBootConfiguration,本质是@Configuration,代表这是spring容器的主配置类。

(2)@EnableAutoConfiguration,开启自动配置,spring boot会自动将包含有@Configuration的类加载到容器中。

(3)@ComponentScan,将注解类自动加载到spring容器中。

4.     项目配置参数都放入在application.properties中

5.     Js,html等静态文件都统一放入到static,templates目录中。

三、application.properties解析

1. 主要参数来源及优先级,数值越大,优先级越低。

(1)命令行参数;

(2)ServletConfig和SerletContext;

(3)操作系统环境变量;

(4)application-{profile}.properties或者YAML文件;

(5)application.properties或者YAML文件。

2. spring boot会自动从application.properties文件中加载配置信息。加载目录如下,如有参数相同,数值越大,优先级越低。

(1)工程目录下的config子目录;

(2)工程目录;

(3)resource目录下的config子目录;

(4)resource目录;

3. 本地类加载参数

(1)在application.properties文件中添加参数信息,所以参数必须以***.开头,如db.。

db.username=tsinson
db.password=123456
db.url=jdbc:mysql:///test
db.driverClassName=com.mysql.jdbc.Driver

(2)创建自动注入的实体类

@Component
@ConfigurationProperties(prefix = "db")
public class DemoDataSource
{private String username;private String password;private String url;private String driverClassName;

}

注意:ConfigurationProperties必须标明注入的前缀。

4. 第三方类加载

在主入口类中添加类参数注入,参考如下:

@SpringBootApplication
public class DemoApplication {   @Bean@ConfigurationProperties(prefix = "db")public DemoDataSource demoDataSource(){return new DemoDataSource();}public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}

四、启动方式

1. 以运行app方式直接启动

2. 使用spring boot插件spring-boot:run

3. 打包成jar包后,使用java –jarprojectname启动。

spring boot基础简介相关推荐

  1. 2021 版 Spring Boot 基础知识复习手册(2w字,建议收藏)

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客: ...

  2. Spring Boot基础

    Spring Boot基础   一.Spring Boot概述 1.什么是Spring Boot? 采用"习惯优于配置"的理念让项目快速运行起来. 2.Spring Boot核心功 ...

  3. spring boot @value_spring+vue全栈开发实战-第二章Spring Boot 基础配置-笔记0302-2020

    Spring Boot 基础配置 1. Web 容器配置 2.Properties 配置 3.类型安全配置属性 1. Web 容器配置 a.常规配置 在 Spring Boot 项 目 中,可以内置 ...

  4. Spring Boot 基础教程:集成 Knife4j

    前言 之前介绍了如何在 Spring Boot 中集成 Swagger2 和 Swagger3,对于我们日常的接口管理已经够用了.但是作为一个颜值党,无论是 Swagger2 还是 Swagger3, ...

  5. Spring Boot Redis简介

    1.概述 在本文中,我们将通过Spring Data Redis库回顾如何将Redis与Spring Boot结合使用的基础知识. 我们将构建一个应用程序,演示如何通过Web界面执行CRUD操作Red ...

  6. Spring Boot基础学习笔记20:Spring Security入门

    文章目录 零.学习目标 一.Spring Security (一)Spring Security概述 (二)Spring Boot整合Spring Security实现的安全管理功能 二.基础环境搭建 ...

  7. Spring Boot基础学习笔记08:Spring Boot整合Redis

    文章目录 零.学习目标 1.熟悉Redis相关概念 2.掌握使用Spring Boot整合Redis 一.Redis概述 1.Redis简介 2.Redis优点 (1)存取速度快 (2)数据类型丰富 ...

  8. Spring Boot基础学习笔记07:Spring Boot整合JPA

    文章目录 零.学习目标 1.熟悉Spring Data JPA基本语法和使用 2.掌握Spring Boot与JPA的整合使用 一.Spring Data JPA概述 1.Spring Data JP ...

  9. Spring Boot基础学习笔记06:Spring Boot整合MyBatis

    文章目录 零.学习目标 1.了解Spring Boot数据访问概述 2.掌握使用注解的方式整合MyBatis 3.掌握使用配置文件的方式整合MyBatis 一.Spring Boot数据访问概述 二. ...

最新文章

  1. [LeetCode] Restore IP Addresses 复原IP地址
  2. 在Java中如何使用transient
  3. 网页中嵌套网页flush_如何修改网页中的内容?
  4. SpringCloud教程- 断路器(Hystrix)(SpringCloud版本Finchley)
  5. 如何覆盖上一次commit_第一次漂冰雪就上难度 “小白”如何在冰雪中漂明白中置后驱...
  6. 一文看懂深度学习——人工智能系列学习笔记
  7. One-Page AlphaGo --十分钟看懂 AlphaGo 的核心算法!
  8. Linux设备驱动入门----globalmem字符设备驱动
  9. Docker Compose 项目
  10. PickerView 使用
  11. android gui工具,搞机助手简约易用的安卓ADB GUI玩机工具箱
  12. 华硕笔记本返厂维修流程_笔记本不能更换显卡为何又叫独立显卡?
  13. 2020新版小桔灯作文能力阶梯序列作文课件教案教材全套
  14. 计算机软件卡死,电脑运行卡或软件卡死无响应,怎么办?新生必看
  15. 使用STM32F4标准外设库实现网线热插拔- 分析STM3240G-EVAL官方工程
  16. 有关网络通信的基本概念
  17. HTML中如何给代码添加注释
  18. 写代码到底应该买什么键盘?
  19. 【设计模式2_工厂模式、策略模式】
  20. 原创 基于MC3362D的十米波段语音收发机电路图

热门文章

  1. Windows安装配置Oracle
  2. Android-69-音视频开发:AnyChat for Android SDK
  3. asp.net Listbox控件用法
  4. Python OpenCV学习笔记之:图像直方图均衡化
  5. LeetCode 605[Python]. 种花问题 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。
  6. Redis 设计与实现 5:压缩列表 ziplist
  7. Linux基本的常用命令
  8. Hash学习(3)-冲突的解决
  9. 九州量子黄蕾蕾:我们是冲着量子通信产业化来的
  10. avplayer视频重复循环播放,视频重播