> 文章列表 > SpringBoot入门

SpringBoot入门

SpringBoot入门

SpringBoot入门

文章目录

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

前言

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


一、约定大于配置

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

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

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

二、使用步骤

1.使用IDEA创建SpringBoot项目

SpringBoot入门
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!!!";}
}

测试结果如下:
SpringBoot入门

三、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

五、测试:

SpringBoot入门
可以看到,项目启动就以9992端口,和/test作为项目路径了。


总结

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