IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 【Spring Boot】 -> 正文阅读

[Java知识库]【Spring Boot】


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") //设置路由地址sayHi
   public 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: 1
  name: zhangsan
  age: 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");
   }
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 18:50:24  更:2022-08-19 18:54:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:53:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码