SpringBoot

  • Spring Boot概念
  • Spring Boot项目创建
    • 通过idea创建Spring Boot
  • SpringBoot配置文件
    • 配置文件作用
    • 配置文件的分类
    • 配置文件的格式
      • properties配置文件
      • yml配置文件
  • SpringBoot日志文件
    • 日志作用
    • 自定义日志打印
    • 日志级别
    • 日志的持久化
    • 更简单的实现自定义日志的打印-lombok

Spring Boot概念

  • SpringBoot的产生是为了简化Spring程序开发的。
  • SpringBoot优点:
    (1)快速集成框架,SpringBoot提供了启动添加依赖的功能,用于秒级集成各种框架。
    (2)内置运行容器,无需配置Tomcat等web容器,直接运行和部署程序。
    (3)快速部署项目,无需外部容器即可启动并运行项目。
    (4)完全可以抛弃繁琐的xml,使用注解和配置的方式进行开发。
    (5)支持更多的监控的指标,可以更好的了解项目的运行情况。

Spring Boot项目创建

通过idea创建Spring Boot

(一)社区版需要安装Spring Assistant插件
(二)创建项目


(三)输出hello world

@Controller
public class UserController {@ResponseBody //返回一个非静态页面的数据@RequestMapping("/sayhi") //设置路由地址sayHipublic String sayHi(){return "hello world";}

结果:


(1)需要将对象托管到springBoot的对象,必须要放在SpringBoot启动类的根路径或子路径中,否则不能被框架识别。
(2)SpringBoot配置比较少,但是SpringBoot的设计思想是:约定大于配置。

SpringBoot配置文件

配置文件作用

整个项目中所有重要的数据都是在配置文件中配置的:
(1)数据库的连接信息
(2)项目的启动端口
(3)第三方系统的调用秘钥等信息
(4)用于发现和定位问题的普通日志和异常日志等

配置文件的分类

  • 配置文件的分类:

(1)系统的配置文件,比如连接字符串,日志的相关设置,系统定义好的。
(2)用户自定义的。

配置文件的格式

  • Spring Boot配置文件主要分为两种格式:
    (1).properties
    (2).yml
    规则:
    (1)一个项目中可以存在两种配置文件,但是不建议一个项目中出现两种配置文件。
    (2)

如果properties文件没有提示信息,那么就需要安装spring Tools插件

properties配置文件

properties配置文件是最早期的配置文件格式,也是创建Spring Boot项目默认的配置文件。

  • properties配置文件的基本语法:key=value
server.port=8080
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?
characterEncoding=utf8
spring.datasource.name=root
spring.datasource.password=11

关于properties乱码的问题处理:


  • 读取配置文件:
    使用@Value注解来实现读取配置文件中的内容。
public class UserController {@Value("${server.port}")private String port;

yml配置文件

yml最大的优势是可以跨语言。

  • yml基本语法:key: value
  • yml特点:
    (1)写法简单,可读性高
    (2)支持更多的数据类型
    (3)跨语言使用:java,golang,python
  1. properties和yml连接数据库的配置对比:

  1. yml单双引号问题:



    总结:yml中如果使用了双引号就会按照原语义执行,如果不加单,双引号,或者加了单引号,那么默认会将字符串中的特殊字符进行转义
  • 配置和读取对象
    使用注解@ConfigurationProperties来读取
# 对象写法1
student:id: 1name: zhangsanage: 20
# 对象写法2
student2: {id: 2,name: lisi,age: 20}
@Data
@ConfigurationProperties(prefix = "student") //读取配置文件中的对象
@Component
public class student {private int id;private String name;private int age;
}
  • yml集合的读和写
# 集合写法
dbtypes: {name: [mysql,sqlserver,db2]}
@Component
@Data
@ConfigurationProperties("dbtypes")//读取配置文件中集合
public class ReadList {private List<String> name;
}

SpringBoot日志文件

日志作用

日志除了发现和定位问题之外,还有的功能:
(1)记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。
(2)记录系统的操作日志,方便数据恢复和定位操作人。
(3)记录程序的执行时间,方便为以后优化程序提供数据支持。

自定义日志打印

自定义打印日志的实现步骤:
1,在一个类中先获取到打印日志对象

2,使用日志对象提供的方法实现日志的打印


@Controller
@ResponseBody
public class UserController {// 1.得到日志对象private final static Logger log= LoggerFactory.getLogger(UserController.class);//设置当前类的类型@RequestMapping("/sayhi")public void sayHi(){// 2.使用日志对象提供的打印方法进行日志打印log.trace("我是trace");log.debug("我是debug");log.info("我是info");log.warn("我是warn");log.error("我是error");}
}

日志级别

  • 日志级别分为:
    (1)trace:少许的日志(级别最低)。
    (2)debug:调试日志。
    (3)info:普通信息日志。
    (4)warn:警告日志。
    (5)error:错误日志。
    (6)fatal:致命的日志(系统输出的日志,不能自定义打印)
  • 日志级别顺序:
  • 设置日志级别:
# 设置全局的日志级别
logging.level.root=warn
#设置局部文件夹的日志级别
logging.level.com.example.demo.controller=trace

注:局部日志级别优先级高于全局的日志级别

日志的持久化

日志的持久化就是将日志呢永久的保存到磁盘的某个位置。
1,在配置文件中设置日志的保存路径,当设置了保存路径之后,那么日志就会自动的进行持久化。

# 正确设置日志路径的方式1
# 设置日志保存的目录
logging.file.path=E:/javase/
# 正确设置日志路径的方式2
logging.file.path=E:\\javase\\

2,在配置文件中设置日志保存的名称,日志就自动进行持久化

# 设置日志的保存名称
logging.file.name=E:\\javase\\spring-boot.log

更简单的实现自定义日志的打印-lombok

1,准备工作:添加lombok到当前项目

步骤:




2,使用@Slf4j 获得日志对象log
3,使用log对象自定义打印对象

@Controller
@ResponseBody
@Slf4j //替代了之前需要通过LoggerFactory.getLogger操作
public class UserService {@RequestMapping("/sayhi1")public void sayHi1(){log.trace("我是trace");log.debug("我是debug");log.info("我是info");log.warn("我是warn");log.error("我是error");}
}

【Spring Boot】相关推荐

  1. 【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案

    [spring boot]启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案 导入的一个外部的spring boot项目, ...

  2. 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

    [Spring Boot]使用Spring Boot来搭建Java web项目以及开发过程 一.Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来 ...

  3. 【spring boot】8.spring boot的日志框架logback使用

    在继续上一篇的Debug调试之后,把spring boot的日志框架使用情况逐步蚕食. 参考:http://tengj.top/2017/04/05/springbo 开篇之前,贴上完整applica ...

  4. 【spring boot】10.spring boot下的单元测试

    spring boot下的单元测试,思前想后还是需要单独用一章篇幅来看看. 然后在看了介绍和使用时候,我感觉并不想多去看了. 但是还是给后来人留下参考的路径: 官网说明:https://spring. ...

  5. 【spring boot】【thymeleaf】SPEL调用静态方法和静态属性

    前言 spring boot 2.1.1.RELEASE thymeleaf 3.0 静态属性 <sapn th:text="${T(java.lang.Math).PI}" ...

  6. 【spring boot】5.spring boot 创建web项目并使用jsp作前台页面

    贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功 ...

  7. 【Spring Boot】Spring Boot 2.x + Spring Security OAuth2 2.3.3 出现 bad client credentials 错误的踩坑记录

    环境: spring boot 2.0.4.RELEASE spring security oauth 2.3.3.RELEASE OAuth2的配置 @Configuration @EnableAu ...

  8. 【Spring Boot】Spring Boot @EnableOAuth2Sso | 启用 OAuth2 单点登录

    文章目录 演示工具版本 Maven 依赖 使用 @EnableOAuth2Sso OAuth2 配置 登出 完整示例 输出 参考文献 源码下载 本页将介绍Spring Security OAuth2 ...

  9. 【Spring Boot】条件化自动装配

    [引言] 在前面的博客中,了解了Spring Boot的自动装配是如何实现的,这只是一个基础,对于自动装配,更专业的使用是可以做到条件化自动装配. [条件注解] Spring Boot中,提供了以下条 ...

  10. 【Spring Boot】初识

    前言 说好下篇要写用Spring Boot搭建博客或者写Spring Boot初体验:想了想,还是决定先写Spring初体验,但是在写Spring Boot初体验前,我觉得有必要先解释什么是Sprin ...

最新文章

  1. 车牌识别的分类器文件目录
  2. 重磅《美国机器智能国家战略》
  3. 电机驱动板测试:是否可以输出150kHz高频信号?
  4. org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed
  5. mysql order by 多字段排序
  6. 跟vczh看实例学编译原理——一:Tinymoe的设计哲学
  7. JDBC(二)——使用IDEA连接数据库、数据库连接池
  8. 航测大数据量处理_揭秘航测局“航空摄影质量自动检查系统”的“黑科技”
  9. 【Linux】在Linux环境下使用VSCode调试C/C++程序
  10. 【LeetCode】剑指 Offer 11. 旋转数组的最小数字
  11. 温度转换的python程序_python学习阶段性小结
  12. linux中pstree命令的含义,pstree命令--Linux命令应用大词典729个命令解读
  13. Asp.net MVC - 使用PRG模式(附源码)
  14. php 图片相似度对比算法,PHP实现的简易版图片相似度比较
  15. GAN领风骚!Github盘点2021最惊艳38篇AI论文
  16. 什么是懒惰的苏珊(Lazy Susan)
  17. qt qrc html,写一个QT资源文件(qrc)
  18. excel vba 解密
  19. 《音乐之声》萨尔斯堡的歌声如此旖旎
  20. 基于Vue3+TS+Vite+Cesium创建项目

热门文章

  1. asbuilt hacker
  2. 雅特丽单片机学习——时钟配置
  3. java jsp servlet mysql 菜市场管理系统
  4. 泰安市住建局发布关于绿色建筑发展专项规划
  5. 以点破面——垃圾回收与算法
  6. 门槛越低,越容易引起共鸣
  7. 两只机械狗狗的价格-Spot与CyberDog(铁蛋)
  8. 输入一长串命令后,快速回到命令开头
  9. JavaSHA-256加解密
  10. wps 图片批量排序,批量使用题注修改图片序号