Spring Boot

目录

[1.Spring boot 创建的认识](#1.Spring boot 创建的认识)

[1.1 Spring Boot 优点](#1.1 Spring Boot 优点)

[1.2 打印 Hello World](#1.2 打印 Hello World)

[1.3 约定大于配置](#1.3 约定大于配置)

[2.SpringBoot 配置文件](#2.SpringBoot 配置文件)

[2.1 properies 配置](#2.1 properies 配置)

[2.2 idea 热部署](#2.2 idea 热部署)

[2.3 properies 语法](#2.3 properies 语法)

[2.4 yml 配置文件](#2.4 yml 配置文件)

[3.properties VS yml](#3.properties VS yml)


1.Spring boot 创建的认识

快速添加依赖的方法:

1.1 Spring Boot 优点

1️⃣起步依赖(创建的时候就可以方便的添加依赖)

2️⃣内置 Tomcat 容器

3️⃣快速部署,使用 jar 包加上简单的命令直接运行

4️⃣抛弃 XML 的配置方式

5️⃣提供了更多的监控框架,方便的监控系统运行

1.2 打印 Hello World

在创建的项⽬包路径下创建 TestController ⽂件,实现代码:

java 复制代码
@Controller
@ResponseBody  //返回数据
public class TestController {
    @RequestMapping("/sayhi")
    public String sayHi() {
        return "你好,Spring Boot";
    }
}

启动项目:

java 复制代码
@SpringBootApplication
public class DemoApplication {

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

}

网页访问 http://localhost:8080/sayhi 最终效果如下:

1.3 约定大于配置

目前我们代码目录:

这个时候我们把 TestController 类移动到其他包路径下,重新启动项目:

说明 Spring Boot 项⽬没有将对象注⼊到容器中。这就是所谓的约定大于配置:所有存放到容器中的类,必须要放在和启动类同一个目录或者子目录下,不能放在其他目录

2.SpringBoot 配置文件

Spring Boot 配置文件主要分为两种1️⃣ .properties 2️⃣ .yml

说明:

理论上 properties 和 yml 可以一起存在一个项目中,如果配置文件中出现这种配置,比如 properties 和 yml 中都配置了"server.port", 那么这个时候会以 properties 中的配置为主也就是 .properties 配置⽂件的优先级最高,但加载完 .properties ⽂件之后,也会加载 .yml ⽂件的配置信息。

2.1 properies 配置

1️⃣系统配置项 ex:server.port

2️⃣用户自定义配置 ex:myimage.path(自己起名字)

对于 系统配置项是给系统使用的,不需要去读,但是用户自定义配置项是开发者自己使用,需要去读

如果在项⽬中,想要主动的读取配置⽂件中的内容,可使用 @Value 注解 来实现。@Value 注解使⽤"${ }"的格式读取

java 复制代码
@Controller
@ResponseBody  //返回数据
public class TestController {

    @Value("${myimage.path}") //配置项
    private String myImage; //读取配置项,设置到文件中

    @RequestMapping("/sayhi")
    public String sayHi() {
        return "Hello World ->" + myImage;
    }
}

配置文件 application.properties :

java 复制代码
# 系统配置项
# 设置端口号
server.port=8082

#用户自定义配置项
myimage.path=struggling-xiaowen

网页访问 http://localhost:8082/sayhi 最终效果如下:

2.2 idea 热部署

写完代码不需要手动重启,新代码可以自动生效:

1️⃣添加 springboot-dev-tool 框架

XML 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
	<scope>runtime</scope>
	<optional>true</optional>
</dependency>

2️⃣在 idea 设置(总共有两个设置)中开启项目的自动编译

3️⃣开启热部署

启动项目,修改代码,新代码自动生效

2.3 properies 语法

properties 是以键值的形式配置的,key 和 value 之间是以"="连接的,例如MySQL 配置项:

XML 复制代码
#MySQL 配置项
spring.datasource.url=jdbc:mysql://127.0.0.1.3306/myblog
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

1️⃣优点:配置文件结构清晰:key=value(适合初学者)

2️⃣缺点:写法比较臃肿

2.4 yml 配置文件

yml 是 YAML 是缩写,它的全称 Yet Another Markup Language 翻译成中⽂就是"另⼀种标记语⾔"。

基本语法:key: value注意 key 和 value 之间使用英文冒号加空格的方式组成,注意空格不可省略

如果没有空格:

1️⃣使用 yml 连接数据库:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:0036/myblog
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

2️⃣配置集合

XML 复制代码
dbtypes:
   name:
     - mysql
     - sqlserver
     - db2

3.properties VS yml

  • properties 是以key=value 的形式配置的键值类型的配置⽂件,而 yml 使用的是类似 json 格式的树形配置方式进行配置的,yml 层级之间使用换行缩进的方式配置,key 和 value 之间使用": "英文冒号加空格的方式设置,并且空格不可省略。
  • properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使用 yml 可以很好的解决数据冗余的问题
  • yml 支持更多的数据类型
  • yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。
相关推荐
守护者17015 分钟前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习
源码哥_博纳软云17 分钟前
JAVA同城服务场馆门店预约系统支持H5小程序APP源码
java·开发语言·微信小程序·小程序·微信公众平台
禾高网络18 分钟前
租赁小程序成品|租赁系统搭建核心功能
java·人工智能·小程序
学会沉淀。24 分钟前
Docker学习
java·开发语言·学习
如若12325 分钟前
对文件内的文件名生成目录,方便查阅
java·前端·python
初晴~1 小时前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
盖世英雄酱581361 小时前
InnoDB 的页分裂和页合并
数据库·后端
小_太_阳1 小时前
Scala_【2】变量和数据类型
开发语言·后端·scala·intellij-idea
直裾1 小时前
scala借阅图书保存记录(三)
开发语言·后端·scala
黑胡子大叔的小屋2 小时前
基于springboot的海洋知识服务平台的设计与实现
java·spring boot·毕业设计