Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息

这篇具有很好参考价值的文章主要介绍了Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、回顾

二.如何配置端口号

配置文件,最重要的目的:解决硬编码问题-代码写死

1.常见配置项

yml获取配置项

多次获取配置项(yml会对我们的参数情况,进行的一定类型转换比如数字10,转换成“10”)

null:使用key后面+-(破折号)

空字符串:key后面之间空着,但是不易读,推荐使用单引号或者双引号扩起来

转义字符

赋值给对象

yml优缺点

三、日志代表的信息:

外观模式(门面模式)

对于设计模式的理解

日志的级别

日志如何去使用


一、回顾

spring boot jetty 端口号配置 yml,spring,java,数据库spring boot jetty 端口号配置 yml,spring,java,数据库

二.如何配置端口号

spring boot jetty 端口号配置 yml,spring,java,数据库

配置文件,最重要的目的:解决硬编码问题-代码写死

1.常见配置项

使用阶段

Spring配置文件,有三种格式

事实上是:SpringBoot只支持三个文件
1.application.properties
2.application.yaml
3.application.yml  
二和三一致,是一样的,只是后缀名字不一样

1.properties

2.yaml (2和3是一个)

3.yml(yaml,缩写,后缀名字不同而已,现在yml更多)

如果项目中,同时存在properties和yml,properties的优先级更高

企业开发中,通常只使用其中一个文件

配置文件格式

properties(这个key-value的键值对格式):

server.port=8080
#配置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test....省略

如何获取配置项:

//properties里面写这个东西
demo.key1=hello.properties
package com.example.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PropertiesController {
//使用@Value注解
    @Value("${demo.key1}")
    private String key1;
    @RequestMapping("readKey")
    public String readKey(){
        return "读取到的配置项key1"+key1;
    }
}
去掉$符号之后,他就不取出来配置项,而是把配置项当成字符串打印了

yml文件格式(把.换成冒号+换行,注意端口号那里有空格,⚠️格式要求比较严格,空格不可以省略)

server:
  port: 8081

要从左边开始写,就像是废物python

 #数据库的相关配置
spring:
  datasource:
    url: jdbc...
    password: root
    username: root

yml获取配置项

demo:
  key1: hello,yml
@RestController
public class YmlController {
    @Value("${demo.key1}")
    public String key1;
    @RequestMapping("/readYml")
    public  String readYml(){
        return key1;
    }
}
多次获取配置项(yml会对我们的参数情况,进行的一定类型转换比如数字10,转换成“10”)
null:使用key后面+-(破折号)
空字符串:key后面之间空着,但是不易读,推荐使用单引号或者双引号扩起来

spring boot jetty 端口号配置 yml,spring,java,数据库

转义字符
言语可能有些迷惑:慢慢品尝
单引号会对特殊字符进行转义,双引号不会进行转义
原因:\n本身的含义是换行
使用单引号时,内容就表示成了\n,而不是换行,所以认为是转义
使用双引号时候,\n表示成了换行,也就是\n本来的含义(换句话说,他本来就是个女的,你镜子照之后,他还是个女的,你没有那个转义功能)

spring boot jetty 端口号配置 yml,spring,java,数据库

赋值给对象
package com.example.demo;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
//下面这个的含义是说从配置文件中获取这个student给这个对象赋值
@ConfigurationProperties(prefix = "student")
@Data
public class Student {
    private Integer id;
    private  String name;
    private Integer age;
}
//这个是使用的时候记得要加Autowired
 //@Autowired
   // public Student student;

赋值给集合:

spring boot jetty 端口号配置 yml,spring,java,数据库

假如不加空格,那么这些会变成一个整体,一起赋值给name,长度变成1了

yml优缺点

优点:可读性高,写法简单,易于理解

可支持更多的数据类型,可以简单的表达对象,数组,List,Map等集合之类的

支持更多的编程语言

缺点:不适合写复杂的配置文件(格式要求严格)

与之带来的功能:

热部署:

写的代码,立即被加载,生效了

热加载:

如果代码发生了变动,就会重新部署

如何实现验证码

客户端和服务端都可以生产

1.后端引入依赖

spring boot jetty 端口号配置 yml,spring,java,数据库

三、日志代表的信息:

左边是时间,INFO表示级别,3353表示当前的PID​​​​​​​spring boot jetty 端口号配置 yml,spring,java,数据库

main(进程),com....(打印日志的类),(后面那些是日志内容)

spring帮我们集成了很多的框架

下面是日志的写法

package com.example.captcha1.demos.web;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.PostConstruct;

@RestController
public class LoggerController {
    //从日志工厂(是一个工厂模式),拿到类一个日志对象,要传一个日志名称
    private  static Logger logger= LoggerFactory.getLogger(LoggerController.class);
//这就是相当于起了个进程名字,但是推荐不要这么起名字,最好是要去找到当前进程。
//    private  static Logger logger= LoggerFactory.getLogger("lcl是大王");
    @PostConstruct
    public void print(){
        System.out.println("打印日志");
        logger.info("__没毛病");
    }
}

选择当前选中的org

spring boot jetty 端口号配置 yml,spring,java,数据库

打印日志和正常print的区别,一个是正常的打印,另一个是如同spring的信息一样spring boot jetty 端口号配置 yml,spring,java,数据库

一般日志的进程名建议是起名为当前类

spring boot jetty 端口号配置 yml,spring,java,数据库

spring boot jetty 端口号配置 yml,spring,java,数据库

外观模式(门面模式)

用来定义一个统一的接口,用来访问子系统中的一群接口,主要特征是定义一个高层接口,让子系统更容易去使用(像是我们之前写的图书管理系统),就像是家里的灯,要是有一个总开关,就能一个位置打开所有你想开的灯这种。

优点:

减少了系统的相互依赖,实现了客户端和子系统的耦合关系,这使得子系统的变化不会影响到调用它的客户端。

提高了灵活性,简化了客户端对于子系统的使用难度,客户端无需关心子系统的具体实现方式,而只需要和门面对象交互即可

提高了安全性,可以灵活设定访问权限,不在门面对象中开通方法,就无法访问。

对于设计模式的理解

设计模式是为了解决生活中一些常见的问题的解决方案,就如同象棋中的别人选择当头炮,你选择上马一样,更像是一种套路,模版,可以让我们对身边的问题解决起来更方便。

日志冲突:版本bug,或者是不同框架的bug问题,引入第三方框架还要去不得不去维护多套框架(假如没有日志门面log4j,log4j本身是有他的一套规范,这样我们通过log4j就可以去放心调用)

日志当然也会影响一些性能,所以对于日志,要去适当使用。

日志的级别

spring boot jetty 端口号配置 yml,spring,java,数据库

日志如何去使用

package com.example.captcha1.demos.web;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.PostConstruct;

@RestController
public class LoggerController {
    //从日志工厂,拿到类一个日志对象,要传一个日志名称
    private  static Logger logger= LoggerFactory.getLogger("lcl是大王");
    @PostConstruct
    public void print(){
        System.out.println("打印日志");
        logger.info("__没毛病");
        logger.error("我是傻子");
        logger.warn("你是傻子");
        logger.info("我们都不聪明");
        logger.debug("你才傻傻都");
        logger.trace("要不要去放烟花呀");
    }
}

spring boot jetty 端口号配置 yml,spring,java,数据库 

我们可以看到他只显示了INFO以上的,但是INFO以下的没有显示,因为spring的基础设定是INFO普通事件,但是我们该怎么让这样显示呢?我们可以去配置。让他配置成初始debug级别

application.yml(配置文件)

logging:
  level:
    root: debug

这也就使最基础级别变成了debug

spring boot jetty 端口号配置 yml,spring,java,数据库​​​​​​​文章来源地址https://www.toymoban.com/news/detail-761779.html

到了这里,关于Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot的配置文件(properties与yml)

    SpringBoot 项目中所有重要的数据都是在配置文件中配置的,比如∶ 数据库的连接信息(包含用户名和密码的设置); 项目的启动端口; 第三方系统的调用秘钥等信息; 用于发现和定位问题的普通日志和异常日志; 还可以自定义配置,如配置上传文件的保存地址信息等。 想

    2024年02月12日
    浏览(37)
  • java-读取配置文件自定义字段(yml、properties)

    在springboot项目配置文件中设置自定义字段,项目代码按需读取,想换重要参数时直接更改配置文件即可,这篇文章说一说配置文件自定义字段的方法。 方法1 @Value 使用org.springframework.beans.factory.annotation包下的@Value注解读取yml文件里面的字段,代码如下: yml文件 读取 测试结果

    2024年02月08日
    浏览(70)
  • JavaEE进阶(6)SpringBoot 配置文件(作用、格式、properties配置文件说明、yml配置文件说明、验证码案例)

    接上次博客:JavaEE进阶(5)Spring IoCDI:入门、IoC介绍、IoC详解(两种主要IoC容器实现、IoC和DI对对象的管理、Bean存储、方法注解 @Bean)、DI详解:注入方式、总结-CSDN博客 目录 配置文件作用 SpringBoot配置文件  配置文件的格式 properties 配置文件说明 properties 基本语法 读取配置

    2024年01月23日
    浏览(66)
  • 【SpringBoot】两种配置文件, 详解 properties 和 yml 的语法格式, 使用方式, 读取配置

    各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等 📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议

    2024年02月10日
    浏览(54)
  • @ConfigurationProperties注解获取yml配置文件信息

    ConfigurationProperties注解主要用于将外部配置文件配置的属性填充到这个** Spring Bean实例 **中。 需要注意:它自己单独使用无效,需要配合其它注解一起使用。且对于Spring Bean才生效,普通的new 对象不生效。 ConfigurationProperties的使用方式: @ConfigurationProperties + @Component(或其它实

    2024年02月16日
    浏览(43)
  • Spring Boot多环境指定yml或者properties

    ● application-local.properties ● application.properties ● application-local.yml ● application.yml application.propertes application-local.propertes application.yml application-local.yml 删除properties之后,项目启动 2023-08-23 09:38:29.423 INFO 22896 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http)

    2024年02月11日
    浏览(52)
  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(44)
  • 聊聊Spring Boot配置文件:优先级顺序、加载顺序、bootstrap.yml与application.yml区别详解

    在 Spring Boot 中,配置文件的优先级顺序是: application-{profile}.yml ( application-{profile}.properties ) application.yml ( application.properties ) bootstrap.yml ( bootstrap.properties )。其中, {profile} 表示不同的环境配置,如 dev 、 test 、 prod 等。 优先级从高到低,高优先级的配置覆盖低优先级

    2024年01月25日
    浏览(59)
  • 在Spring Boot微服务使用jasypt-spring-boot加密和解密yml配置文件

    记录 :424 场景 :在Spring Boot微服务,使用jasypt-spring-boot加密和解密yml配置文件中的配置信息。 版本 :JDK 1.8,Spring Boot 2.6.3,jasypt-1.9.3,jasypt-spring-boot-2.1.2, jasypt-spring-boot-3.0.5。 开源地址 :https://github.com/ulisesbocchio/jasypt-spring-boot 1.在Spring Boot微服务使用jasypt-spring-boot-3.0.5版本

    2024年02月09日
    浏览(70)
  • Spring Boot微服务从yml文件中加载配置(使用@Value和@ConfigurationProperties)

    记录 :398 场景 :在Spring Boot的微服务中从application.yml等yml文件中加载自定义配置内容。使用@Value直接加载单个配置。使用@ConfigurationProperties注解把一个或者多个配置加载为Java对象。 版本 :JDK 1.8,SpringBoot 2.6.3 1.使用@Value注解加载配置 使用注解@RestController、@Service、@Component等

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包