SpringBoot 启动配置原理
springBoot 启动配置原理 springBoot 几个重要的事件回调机制 配置在 META_INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener 只需要放在 ioc 容器中 ApplicationRunner CommanLineRunner 启动流程: 一、 创建 SpringApplication 对象(1.x 版本)123456789101112131415initialize(sources);private void initialize(Object[] sources) { // 保存主配置类 if (sources != null && sources.length > 0) { this.sources.addAll(Arrays.asList(sources)); } // 判断当前是否一个web应用 this.webEnvironment = deduceWebEnviro ...
SpringBoot与数据访问
SpringBoot 与数据访问一、JDBC 使用 Idea 集成开发工具搭建 pom.xml 123456789<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency> 使用 yml 配置文件进行配置 123456789spring: datasource: username: root password: 1234 url: jdbc:mys ...
SpringBoot之Docker
一、简介Docker 是一个开源的应用容器引擎;是一个轻量级容器技术; Docker 支持将软件编译成一个镜像;然后砸镜像中各种软件做好配置,将镜像发布出去,其实使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。 二、核心概念docker 主机(Host): 安装了 Docker 程序的机器(Docker 直接安装在操作系统之上); docker 客户端(Client): 连接 docker 主机进行操作; docker 仓库(Registry): 用来保存各种打包好的软件镜像; docker 镜像(Images): 软件打包好的镜像;放在 docker 仓库中; docker 容器(Container): 镜像启动后的实例就是一个容器;容器是独立的运行的一个或一组应用 使用 Docker 的步骤: 安装 Docker 去 Docker 仓库找到这个软件找到这个软件对应的镜像; 使用 Docker 运行这个镜像,这个镜像就会生成一个 Docker 容器; 对容器的启动停止就是对软件的启动停止; 三、安装 Docker① 安装 Linux 虚拟机 ...
SpringBoot之Web开发
一、Web 开发自动配置原理: xxxAutoConfiguration: 帮助我们给容器中自动配置组件; xxxProperyties: 配置类来 1、 SpringBoot 对静态资源的映射规则12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties implements ResourceLoaderAware {// 可是设置和静态资源有关的参数,缓存时间等WebMvcAuotConfiguration:@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) ...
SpringBoot之基本配置
SpringBoot 之基本配置知识总结(由于网页解析存在问题,无法上传笔记) 一、日志1、日志框架市面上的日志框架:JUL、JCL、Jbooss-loggin、logback、log4j、log4j2、slf4j…. 日志门面(日志的抽象层) 日志实现 JCL(jakarta Commons Loggin) SLF4j(Simple Loggin Facade For Java) jboss loggin Log4j JUL(java.util.logging) Log4j2 Logback 左边选一个门面(抽象层)、右边来选一个实现; 日志门面: SLF4J; 日志实现:Logback SpringBoot: 底层是 Spring 框架,Spring 框架默认是用JCL; ==SpringBoot 选用 SLF4j 和 Logback;== 2、使用 SLF4j 使用① 如何在系统中使用 SLF4j https://www.slf4j.org 以后开发时候,日志记录方法调用,不应该来直接调用日志实现类,而是调用日志抽象层里面的方法; 给系统里面导入 slf ...
Redis基础总结
一、Redis 的 五大数据类型1、key 指令 描述 keys * 查看当前库的所有键 exists<key> 判断某个键是否存在 type<key> 查看键的类型 del<key> 删除某个键 expire<key><seconds> 为键设置过期的时间,单位秒 ttl<key> 查看还有多久过期,-1 表示永不过期,-2 表示已过期 dbsize 查看当前数据库中的 key 的数量 flushdb 清空当前库 Flushall 通杀全部库 2、String String 是 Redis 最基本的类型。 String 类型是二进制安全的。意味着 Redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。 String 类型是 Redis 最基本的数据类型,一个 Redis 中字符串 value 最多可以是 512M 常用操作 指令 描述 get<key> 查询对应的键值 set <key><v ...
Git基本使用
一、git 基本指令git 安装案例 1、创建版本库 在项目文件夹内, 执行: git init 2、提交文件 指令 描述 git status 进行查看文件状态 git add 文件名 将文件添加到暂存区 git commit 提交文件到本地库 git commit -m “注释内容” 编写注释,完成提交 3、查看文件提交记录 执行 git log 文件名 进行查看历史记录 git log –pretty=oneline 文件名 (简易信息查看) 4、回退历史 git reset –hard HEAD^ 回到上一次提交 git rest – hard HEAD~n 回退 n 次操作(回退 2 次版本以上,就建议使用此指令) 5、版本穿越 进行查看历史记录的版本号,执行 git reflog 文件名 执行git reset –hard 版本号 6、还原文件 git checkout – 文件名 7、删除某个文件 先删除文件,在git add 提交 8、git 结构 工作区:就是电脑的本地的磁盘目录 本地库:工作区有个掩藏目录.g ...
Maven基本知识
一、Maven 基本1、自动化构建 简单来说就是它可以自动的从建构过程的起点一直执行到终点: 2、Maven 核心概念 POM 约定的目录结构 坐标 依赖管理 仓库管理 生命周期 插件和目标 继承 聚合 3、安装使用① 检查 JAVA_HOME 环境变量 ② 解压 Maven 的核心程序 将 apache-maven-3.5.0-bin.zip 解压到一个非中文无空格的目录下。 例如: 1D:\Server\apache-maven-3.5.0 ③ 配置环境变量 M2_HOME:D:\Server\ apache-maven-3.5.0(以自己安装路径的为准) path:%M2_HOME%\bin 或 D:\Server\ apache-maven-3.5.0\bin ④ 查看 Maven 版本信息验证安装是否正确 ⑤ 配置本地仓库 Maven 默认的本地仓库: ~.m2\repository 目录 。Tips: ~表示当前用户的家目录。 Maven 的核心配置文件位置 1解压目录\ D:\Server\ apache-maven-3.5.0\conf\sett ...
Mybatis基础
mybatis-generator-core-1.3.2.jar 一、Mybatis 入门案例1、开发环境准备(Idea) 导入 MyBatis 框架的 jar 包、 MySQL 驱动包、log4j 的 jar 包 导入 log4j 的配置文件(复制粘贴即可) 12345678910111213141516171819202122<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> // 注意这里,自己使用的工具 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <p ...
MySQL基础
数据库的相关概念一、数据库的好处 可以持久化数据到本地 结构化查询 二、数据库的常见概念1、DB:数据库,存储数据的容器 2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理 DB3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言 三、数据库存储数据的特点1、数据存放到表中,然后表再放到库中 2、一个库中可以有多张表,每张表具有唯一的表名用来标识自己 3、表中有一个或多个列,列又称为“字段”,相当于java中“属性” 4、表中的每一行数据,相当于java中“对象” 四、常见的数据库管理系统mysql、oracle、db2、sqlserver 五、MySQL 的优点1、开源、免费、成本低 2、性能高、移植性也好 3、体积小,便于安装 DQL 语言基础查询一、语法select 查询列表 from 表名; 二、特点1、查询列表可以是字段、常量、表达式、函数,也可以是多个 2、查询结果是一个虚拟表 三、示例1、查询单个字段1select 字段名 from 表名; 1SELECT `las ...