当前位置: 首页 > news >正文

SpringBoot入门

在这里插入图片描述

文章目录

  • 前言
  • 一、约定大于配置
  • 二、使用步骤
    • 1.使用IDEA创建SpringBoot项目
    • 2.引入依赖
    • 3.测试
  • 三、application.properties和application.yml配置文件
  • 四、application.yml配置多环境
  • 五、测试:
  • 总结


前言

SpringBoot并不是一门新的技术栈,它的主要目的是为了去配置化开发,将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发。


一、约定大于配置

SpringBoot的核心思想就是约定大于配置,什么是约定大于配置?

  • 开发人员仅需规定应用中不符合约定的部分
  • 在没有规定配置的地方,采用默认配置,以力求最简配置为核心思想

总的来说,上面两条都遵循了推荐默认配置的思想。当存在特殊需求的时候,自定义配置即可。这样可以大大的减少配置工作,这就是所谓的“约定”。

二、使用步骤

1.使用IDEA创建SpringBoot项目

在这里插入图片描述
在这里插入图片描述

最后点击finish结束

2.引入依赖

		<!--web启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!--配置元数据--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><!--lombok注解--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

3.测试

编写一个Controller来模拟访问

package com.lzl.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/3 09:54*/
@RestController
@RequestMapping("/login")
public class LoginController {@RequestMapping("/loginVerify")public String getLogin(){return "Hello world!!!";}
}

测试结果如下:
在这里插入图片描述

三、application.properties和application.yml配置文件

通常情况下,需要我们在配置文件中配置的,都是没有约定好的,在springboot项目中有两种配置文件的格式:

application.properties和application.yml都是SpringBoot的配置文件格式,不过二者还是有区别的

  • .properties书写格式要求不严格,通常采用一行式配置,而yml文件则有严格的书写格式,层级分明,如果不符合格式,编译就会报错。
  • 通常来说yml文件使用的人数更多,虽然它严格按照层级排列,但可读性较好
  • 当同时存在两者时,yml的优先级要大于properties文件。

yml支持的配置

#普通数据的配置
name: jack#对象的配置
user:username: rosepassword: 123#配置数组
array:beijing,tianjin,shanghai#配置集合
zhen:test:name: tomarr: 1,jack,2,tom  list1:      #这种对象形式的,只能单独写一个对象去接收,所以无法使用@value注解获取- zhangsan- lisilist2:- driver: mysqlport: 3306- driver: oracleport: 1521map:key1: value1key2: value2

取数据

package com.lzl.controller
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Arrays;@RestController
@RequestMapping("user")
public class UserController {@Value("${name}")private String name;@Value("${user.username}")private String username;@Value("${user.password}")private String password;@Value("${array}")private String [] array;/*** 获取 application.yml 中的数据* @return*/@RequestMapping("getYmlData")public String getYmlData(){System.out.println(name);System.out.println(username);System.out.println(password);System.out.println(Arrays.toString(array));return "success";}
}

四、application.yml配置多环境

在开发中,有的时候开发环境和测试环境的某些配置是不同的,通常我们会去编写不同的yml配置文件来解决这个问题。

  • 开发环境 appliaction-dev.yml
server:port: 9991servlet:context-path: "/dev"
  • 测试环境application-test.yml
server:port: 9992servlet:context-path: "/test"

除此之外我们还需要配置一个主配置文件application.yml来选择引用哪个环境

spring:profiles:active:- test

五、测试:

在这里插入图片描述
可以看到,项目启动就以9992端口,和/test作为项目路径了。


总结

本篇是SpringBoot的入门案例,更多的技术分享看下一篇

http://www.lryc.cn/news/31930.html

相关文章:

  • D. Constant Palindrome Sum(差分数组维护)
  • 【C++】30h速成C++从入门到精通(IO流)
  • 文件变成chk如何恢复正常
  • Meta最新模型LLaMA细节与代码详解
  • 3/6考试总结
  • 产品经理必读书单
  • UEFI移植LVGL
  • RK356x U-Boot研究所(命令篇)3.8 test命令的用法
  • LCD液晶段码驱动IC/LCD液晶驱动芯片VK2C22高抗干扰/抗噪,适用于汽车仪表/单相智能电表
  • OpenMMLab 目标检测
  • Jenkins部署angular11自动打包
  • 【状态管理】zustand 中文文档,它来了!!!
  • 【时序】特征工程-时间序列特征构造
  • 【独家】华为OD机试 - 环中最长子串(C 语言解题)
  • JavaScript新手学习手册-基础代码(一)
  • Firewall App Blocker v1.7 防火墙管理设置工具多语言版
  • windows常用
  • 从源码的角度告诉你 spark是怎样完成对文件切片
  • 剑指 Offer II 019. 最多删除一个字符得到回文
  • RK3568驱动OV13850摄像头模组调试过程
  • Go项目的目录结构基本布局
  • CHAPTER 1 Linux Filesystem Management
  • RocketMQ架构篇 - 读写队列与生产者如何选择队列
  • 华为OD机试真题Python实现【通信误码】真题+解题思路+代码(20222023)
  • 【单目3D目标检测】MonoDDE论文精读与代码解析
  • 复习 Kotlin 从小白到大牛 第二版 笔记要点
  • X264简介-Android使用(二)
  • 【独家】华为OD机试 - 统计差异值大于相似值二元组个数(C 语言解题)
  • 掌握好Framework 才是王道~
  • Codeforces Round 856 (Div. 2) A — C