spring boot基础简介
一、 创建方式
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基础简介相关推荐
- 2021 版 Spring Boot 基础知识复习手册(2w字,建议收藏)
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客: ...
- Spring Boot基础
Spring Boot基础 一.Spring Boot概述 1.什么是Spring Boot? 采用"习惯优于配置"的理念让项目快速运行起来. 2.Spring Boot核心功 ...
- spring boot @value_spring+vue全栈开发实战-第二章Spring Boot 基础配置-笔记0302-2020
Spring Boot 基础配置 1. Web 容器配置 2.Properties 配置 3.类型安全配置属性 1. Web 容器配置 a.常规配置 在 Spring Boot 项 目 中,可以内置 ...
- Spring Boot 基础教程:集成 Knife4j
前言 之前介绍了如何在 Spring Boot 中集成 Swagger2 和 Swagger3,对于我们日常的接口管理已经够用了.但是作为一个颜值党,无论是 Swagger2 还是 Swagger3, ...
- Spring Boot Redis简介
1.概述 在本文中,我们将通过Spring Data Redis库回顾如何将Redis与Spring Boot结合使用的基础知识. 我们将构建一个应用程序,演示如何通过Web界面执行CRUD操作Red ...
- Spring Boot基础学习笔记20:Spring Security入门
文章目录 零.学习目标 一.Spring Security (一)Spring Security概述 (二)Spring Boot整合Spring Security实现的安全管理功能 二.基础环境搭建 ...
- Spring Boot基础学习笔记08:Spring Boot整合Redis
文章目录 零.学习目标 1.熟悉Redis相关概念 2.掌握使用Spring Boot整合Redis 一.Redis概述 1.Redis简介 2.Redis优点 (1)存取速度快 (2)数据类型丰富 ...
- Spring Boot基础学习笔记07:Spring Boot整合JPA
文章目录 零.学习目标 1.熟悉Spring Data JPA基本语法和使用 2.掌握Spring Boot与JPA的整合使用 一.Spring Data JPA概述 1.Spring Data JP ...
- Spring Boot基础学习笔记06:Spring Boot整合MyBatis
文章目录 零.学习目标 1.了解Spring Boot数据访问概述 2.掌握使用注解的方式整合MyBatis 3.掌握使用配置文件的方式整合MyBatis 一.Spring Boot数据访问概述 二. ...
最新文章
- [LeetCode] Restore IP Addresses 复原IP地址
- 在Java中如何使用transient
- 网页中嵌套网页flush_如何修改网页中的内容?
- SpringCloud教程- 断路器(Hystrix)(SpringCloud版本Finchley)
- 如何覆盖上一次commit_第一次漂冰雪就上难度 “小白”如何在冰雪中漂明白中置后驱...
- 一文看懂深度学习——人工智能系列学习笔记
- One-Page AlphaGo --十分钟看懂 AlphaGo 的核心算法!
- Linux设备驱动入门----globalmem字符设备驱动
- Docker Compose 项目
- PickerView 使用
- android gui工具,搞机助手简约易用的安卓ADB GUI玩机工具箱
- 华硕笔记本返厂维修流程_笔记本不能更换显卡为何又叫独立显卡?
- 2020新版小桔灯作文能力阶梯序列作文课件教案教材全套
- 计算机软件卡死,电脑运行卡或软件卡死无响应,怎么办?新生必看
- 使用STM32F4标准外设库实现网线热插拔- 分析STM3240G-EVAL官方工程
- 有关网络通信的基本概念
- HTML中如何给代码添加注释
- 写代码到底应该买什么键盘?
- 【设计模式2_工厂模式、策略模式】
- 原创 基于MC3362D的十米波段语音收发机电路图
热门文章
- Windows安装配置Oracle
- Android-69-音视频开发:AnyChat for Android SDK
- asp.net Listbox控件用法
- Python OpenCV学习笔记之:图像直方图均衡化
- LeetCode 605[Python]. 种花问题 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。
- Redis 设计与实现 5:压缩列表 ziplist
- Linux基本的常用命令
- Hash学习(3)-冲突的解决
- 九州量子黄蕾蕾:我们是冲着量子通信产业化来的
- avplayer视频重复循环播放,视频重播