SpringBoot四大核心

  • SpringBoot四大核心
    • 1.自动配置
      • 1.1application.properties配置文件
      • 1.2application.yml配置文件
      • 1.3application.yaml配置文件(SpringBoot推荐使用)
    • 2.起步依赖
      • Maven坐标主要组成(GAV) -确定一个jar在互联网位置:
    • 3.Actuator (不用)
    • 4.命令行界面(国内用不到)
    • 5.关于SpringBoot,谈谈你的理解

SpringBoot四大核心

1.自动配置

一个SpringBoot项目中的核心配置文件只能有一个
自动配置了端口号是8080,项目的根路径是/
修改默认配置的三种核心配置文件.properties .yml .yaml

#设置内嵌Tomcat端口号
server.port=8081

#设置上下文根
server.servlet.context-path=/properties

1.1application.properties配置文件

server.port=8081
server.servlet.context-path=/properties

1.2application.yml配置文件

server:port: 9090servlet:context-path: /yml

采用的一定的空格,呈现更好的层级关系,可读性更好
格式:Tab制表符来进行前边的缩进,冒号与值之间有空格
和.properties配置文件的区别就是格式不同

1.3application.yaml配置文件(SpringBoot推荐使用)

和.yml配置文件同一种格式,后缀不同

总结

  1. 如果同时出现.properties和.yml两种核心配置文件,默认读取.properties中的配置(这种情况不会出现)

2022-05-04 10:06:35.615 INFO 28340 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ‘/properties’

  1. 三种后缀的核心配置文件,仅仅是展示的方式不一样,yml,和.yaml可读性更好

  2. yaml可以存储键值对、对象、数组,properties只能存储键值对

通过在核心文件 查看哪些自动配置类生效,哪些自动配置类没有生效

debug: true

打印日志信息:
Positive matches: 开启的,,匹配成功的类

Negative matches:没有开启的,,没有匹配成功的类

Unconditional classes:没有条件的类

2.起步依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><!--SpringBoot工程也是基于Maven--><modelVersion>4.0.0</modelVersion><!--当前工程的父工程——所有SpringBoot工程的起步工程--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.13</version><relativePath/> <!-- lookup parent from repository --></parent><!--GAV坐标--><groupId>com.guo.springboot</groupId><artifactId>springboot-first-001</artifactId><version>0.0.1-SNAPSHOT</version><!--编译的版本--><properties><java.version>1.8</java.version></properties><dependencies><!--SpringBoot框架web项目起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--SpringBoot框架测试起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><!--SpringBoot项目打包编译的插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

SpringBoot项目启动的入口类

package com.guo.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//SpringBoot 项目启动入口类
@SpringBootApplication  //SpringBoot核心注解,主要用于开启Spring自动配置
public class Application {//springboot项目代码必须放到Application类所在的同级目录或下级目录public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

Maven坐标主要组成(GAV) -确定一个jar在互联网位置:

groupId:定义当前Maven组织名称
artifactId:定义实际项目名称
version:定义当前项目的当前版本

3.Actuator (不用)

4.命令行界面(国内用不到)

5.关于SpringBoot,谈谈你的理解

  • 自动装配
    (怎么加载的)

在springboot的启动类上有一个@SpringBootApplication注解,这个注解也是springboot项目的核心注解,在@SpringBootApplication注解中,有一个@EnableAutoConfiguration注解,也就是开启自动配置的意思,这个注解的关键功能由@Import提供,其导入的AutoConfigurationImportSelector中的selectImports()方法能够找到META-INF/spring.factories配置文件中的所有启动配置类,并对其进行加载,而这些自动配置类都是以AtuoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,通过@ConfigurationProperties注解,绑定到对应的以properties结尾的配置实体类上封装为一个bean,然后在通过@EnableAutoConfiguration注解导入到Spring容器中,这样自动装配就完成了。

  • run()

1.判断应用的类型是普通项目还是Web项目
2.推断并设置main方法的定义类,找到运行的主类
3.有一些监听器全局存在的,获取上下文、处理Bean(加载生产初始化)
4.全面接管SpringMVC的配置

SpringBoot四大核心相关推荐

  1. SpringBoot四大核心之自动装配——源码解析

    四大核心 1.自动装配:简单配置甚至零配置即可运行项目 2.Actuator:springboot程序监控器 3.starter:jar包的引入,解决jar版本冲突问题 4.CLI:命令行 初学体验 ...

  2. SpringBoot四大核心之actuator——程序监控器

    四大核心 1.Actuator:springboot程序监控器 2.自动装配:简单配置甚至零配置即可运行项目 3.starter:jar包的引入,解决jar版本冲突问题 4.CLI:命令行 actua ...

  3. SpringBoot四大核心之starter——自定义starter

    四大核心 1.starter:jar包的引入,解决jar版本冲突问题 2.自动装配:简单配置甚至零配置即可运行项目 3.actuator:springboot程序监控器 4.CLI:命令行 start ...

  4. SpringBoot | 四大核心之actuator(程序监控器)

    Actuator 程序监控器 1. Actuator(程序监控器) 简介 2. 怎么使用 2.1 引入pom依赖 2.2 编写配置 2.3 启动程序 1. Actuator(程序监控器) 简介 act ...

  5. SpringBoot——四大核心之指标监控(actuator)

    1.写在前面 首先肯定要说一下SpringBoot的四大核心了: 自动装配:简单配置甚至零配置即可运行项目 起步依赖:场景启动器 Actuator:指标监控 命令行界面 :命令行 这篇文章呢,我来和大 ...

  6. springcloud实战:springboot的核心原理

    Spring Boot核心原理 通过上篇的学习,读者应该对Spring Boot有了一个大致的认识,利用Spring Boot可以极大地简化应用程序的开发,这都归功于Spring Boot的四大核心原 ...

  7. 细数网站成功赢利须具备的四大核心要素

    2019独角兽企业重金招聘Python工程师标准>>> 面对互联网创业的成功者,草根站长依旧在独自奋力的打拼,为了互联网创业的梦想而努力,希望自己的网站最终能够成为一个为自己顺利赢利 ...

  8. [RabbitMQ]RabbitMQ概念_四大核心概念

    RabbitMQ RabbitMQ 的概念 RabbitMQ 是一个消息中间件:它接受并转发消息.你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收 ...

  9. MyBatis四大核心概念

    本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder.SqlSessionFactory.SqlSession.Mapper). MyBatis 作为互联网数据库映 ...

最新文章

  1. Ironic 裸金属实例的部署流程
  2. 工作总结书写的意义及要求
  3. 「递归」第3集 | 向善的信念,让技术自带光芒
  4. python base64编码_JS和Python实现AES算法
  5. Fresco对Listview等快速滑动时停止加载
  6. js部分---表单验证;(含正则表达式)
  7. 乱谈B2C系统-算是今年的总结吧
  8. 推荐一个学习内核的博客
  9. 打造高品质Axure组件库,就是这么简单!
  10. 数字电路与逻辑设计计算机专业,数字电路与逻辑设计试卷(A)(04级计算机、网络工程、软件工程专业).doc...
  11. 对大学计算机课程老师评价,评价:关于构建大学计算机课程评价体系的思考
  12. wpf/sl下的复合程序-CAG入门
  13. 使用 IDEA 文件统计工具 Statistic
  14. 科学计算机r系数的操作,相关系数,确定系数(R^2)计算公式与在线计算器_三贝计算网_23bei.com...
  15. log日志中不打印异常栈的具体信息
  16. 招商银行信用卡还款冲账顺序
  17. win10定时关机怎么设置
  18. python设定字符串长度_python 修改字符串长度_Python 字符串操作
  19. Linux获取系统UUID
  20. STC8A,STC8G,STC8H系列的IRC内部振荡源频率调节

热门文章

  1. 大华摄像机找不到服务器,大华无法找到网络主机解决方法
  2. 调研:暴恐识别(图像识别)by_xxzcc
  3. c语言求出现次数最多的字符,保证你看懂
  4. HDU 5055 Bob and math problem(构造)
  5. iOS开发-QQ好友列表展示
  6. BUU [ACTF新生赛2020]Universe_final_answer
  7. 手机软件必备功能——自动更新和好友推荐
  8. 论文邮箱不是导师的_你的论文为何在导师那里“石沉大海”?
  9. 把kali装到U盘里
  10. linux用户的邮件存在哪里,在Linux系统中收发及查看邮件