首页 > 其他分享 >SpringBoot介绍

SpringBoot介绍

时间:2024-01-31 14:57:22浏览次数:36  
标签:SpringBoot 配置文件 配置 private 介绍 日志 String

SpringBoot

一、介绍

我们在搭建传统SSM项目时,通常需要导入很多依赖,但每种依赖又有许多版本,这就很容易出现依赖冲突。此外,繁琐的配置也是一大痛点,太多了,让人很难记住,因此SpringBoot诞生了。

SpringBoot是对Spring的深度封装,基于约定优于配置的思想,提供了大量的默认配置和实现。能够让我们更加便捷的开发Spring应用,底层还是Spring的技术。使用SpringBoot之后,程序员只需按照它规定的方式去进行程序代码的开发即可,而无需再去编写一堆复杂的配置。

- 版本锁定: 继承了 spring-boot-starter-parent 父工程,它内部已经锁定了一些常见依赖的版本号,故而在我们自己开发的工程中无需再指定依赖的版本。 - 起步依赖:SpringBoot根据场景将各种依赖组装成了一个个的集合(starter),我们根据功能引入指定的starter即可。 - 默认配置:SpringBoot的约定大于配置,即SpringBoot的大量配置都有默认值,如果我们不去写配置就使用默认的。 比如说:tomcat默认端口 8080 等等 - 内置Tomcat:SpringBoot内置了一个tomcat,使用它开发的程序无需再进行tomcat部署,可直接运行

二、SpringBoot的配置文件

SpringBoot的配置文件类型有以下三种:properties,yaml,yml。

SpringBoot是基于约定的,很多配置都有默认值,但也允许自定义配置,具体做法是在resources下创建配置文件:application.yaml 或者 application.yml 或者 application.properties 目前版本中, SpringBoot启动时会依次加载顺序:properties > yml > yaml

我们今天讲一下yml类型的配置文件:
1.语法

2.数据格式

3.读取配置

方法一(@Value 在bean中直接读取):

@Value("${name}")  //普通键值对
private String name;

@Value("${user.username}")  //对象属性
private String username;

@Value("${user.addressList[1]}") //数组或集合
private String address;

方法二(@ConfigurationProperties:把配置绑定到一个bean上,要求配置文件中的二级属性名跟实体的属性名相同):

@ConfigurationProperties(prefix = "user")  //prefix的值为对象名
@Component
public class User {

    //实体类的属性名需要和配置文件的属性名保持一致
    private String username;
    private String password;
    private List<String> addressList;

三.多环境配置

​ 在实际开发中,会有很多的环境:开发环境、测试环境、生产环境,其中的配置可能不一致 ​ SpringBoot支持通过配置文件的命名规则来实现多环境配置

环境切换:
  • IDEA

  • 命令行

    项目打jar包
    pom.xml 加入配置

    myboot org.springframework.boot spring-boot-maven-plugin repackage
  • 命令行指定运行参数:

指定使用test环境

java –jar springboot.jar --spring.profiles.active=test

指定使用test环境,端口号为9090

java –jar springboot.jar --spring.profiles.active=test --server.port=9090

四、常用功能

  • 日志功能:

Spring支持多种日志级别,通过配置文件,可以输出指定级别的日志

打印日志:

@RestController
@Slf4j  //lombok.extern.slf4j.Slf4j 用于记录日志
public class IndexController {

    @GetMapping("/log")
    public String log(){
        log.debug("debug日志");
        log.info("info日志");
        log.warn("warn日志");
        log.error("error日志");
        return "success";
    }
  • 单元测试:
1.使用单元测试之前需导入依赖:

org.springframework.boot

spring-boot-starter-test

2.测试类编写:

测试类位置: 必须在启动类所在包或子包下
测试类标记注解:@SpringBootTest

@SpringBootTest   //表示当前类是一个SpringBoot测试类,位置必须在引导类所在包或者子包下。如果不在引导类的包下,则必须增加一个属性
//@SpringBootTest(classes = QuickStartApplication.class)   //如果不在引导类的包下,则必须增加一个属性,手动指定引导类的Class对象

public class UserTest {

    @Autowired
    private User user;

    @Test    //现在是Junit5   org.junit.jupiter.api.Test;
    public void testUser(){
        System.out.println(user);
    }

}
  • 静态资源访问:

目录:src/main/resources/static

访问(实际访问时不需要写static目录):

标签:SpringBoot,配置文件,配置,private,介绍,日志,String
From: https://www.cnblogs.com/w123-/p/17999251

相关文章

  • 基于springboot开发的工作流系统,bpmn.js,vue源码及功能分析(activiti)
    前言activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求。一、项目形式springboot+vue+activiti集成了activiti在线编辑器,流行的前后端分离部署开发模式,快速开发平台,可插拔工作流服务。工作......
  • SpringBoot 整合多数据源的事务问题
    代码先贴代码:核心就是:Spring给我们提供的一个类AbstractRoutingDataSource,然后我们再写一个切面来切换数据源,肯定要有一个地方存储key还要保证上下文都可用,所以我们使用ThreadLocal来存储数据源的keypom.xml<dependency><groupId>org.springframework.boot</gr......
  • [office] Excel旋转图表的两种方法介绍
    Excel的图表本身是不可以旋转放置的,那么怎么可以通过其他方式来实现对图表的旋转呢?下面我向大家介绍二种方法。步骤一:把图表复制为静态图片1、按“shift”键,单击图表区,然后执行“编辑——复制图片”命令,弹出“复制图片”对话框,然后按确定。2、在一个空白的单元格处,点鼠标右键,然后粘......
  • Java21 + SpringBoot3整合springdoc-openapi,自动生成在线接口文档,支持SpringSecurity
    目录前言相关技术简介OpenAPISwaggerSpringfoxspringdocswagger2与swagger3常用注解对比实现步骤引入maven依赖修改配置文件设置api-docs和swagger-ui访问权限定义springdoc配置类修改Controller类和实体类查看效果总结前言近日心血来潮想做一个开源项目,目标是做一款可以适配多......
  • Active Directory Group Policy Objects | 活动目录组策略对象 | 介绍 | 配置
    介绍ActiveDirectory(AD)的组策略对象(GroupPolicyObjects,简称GPO),在Windows环境中使用GPO来配置、管理和强制执行网络中的计算机和用户设置。组策略对象(GPO)是策略设置的虚拟集合,GPO具有唯一的名称,例如GUID。组策略设置包含在GPO中,GPO可以表示文档系统和ActiveDirectory......
  • springboot~logback控制日志文件大小与历史个数
    日志本地化,对于每个应用来说都是必须的,最起码第一时间日志是需要本地化的,然后从本地化的日志中再进行推送,例如通过fluentd将日志推到es里,通过kibana工具进行可视化分析。日志文件大小限制对于把日志持久化到磁盘,你需要设置它的占用空间,logback提供了保存文件大小和历史文件数量......
  • SpringBoot、SpringCloud相关技术
    一、三层架构 1.1统一业务处理1.2解决三层架构中的结偶,使用了Ioc(控制反转)和DI(依赖注入) 1.3切面编程、事务处理、全局异常处理、Cookie、Session、JWT令牌、阿里云OSS、Mybatis处理数据库二、技术分类说明  2.1SSM三、Web总结四、相关第三方插件https://www......
  • SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验
    本次给大家带来的SpringBoot中通过自定义注解+反射实现excel导入数据组装及字段校验的实现方式。这种实现方式其实是很普通、常规的方法,但很多同学在开发过程中,可能却不太容易想到他。当然我也是众多同学中的一员。1背景在前段时间的开发工作中,接手了一个很简单,很普通的开发任务。......
  • Mybatis-plus分页查询(SpringBoot)
    2024-01-30OS:Windows10 22H2IDE:IDEA2022.2.5JDKversion:19Mavenversion:3.6.3数据库:MySQL8.1.0mybatis-plus:3.5.3.1 一、在springBoot启动类中将分页插件加入到ioc容器里面启动类 @SpringBootApplication@MapperScan("com.ssm.mapper")publicclassMain{......
  • springboot集成mqtt
    SpringBoot集成MQTT(简单版)一、docker安装emqx环境(Linux系统)emqx:mqtt服务器(broker)version:'3'services:emqx:image:emqx/emqxcontainer_name:emqxrestart:alwaysports:-8001:18083-8002:1883-8003:8083-8004......