SpringBoot -- 黑马
文章平均质量分 73
SpringBoot -- 黑马
CodeJiao
须知少年凌云志 曾许天下第一流
展开
-
简述VO(View Object,视图对象)、DTO(Data Transfer Object,数据传输对象)、PO(Persistent Object,持久化对象)
VO用在前端与接口层之间传输数据,DTO用于接口层向业务层之间传输数据,PO用于业务层与持久层之间传输数据。原创 2023-02-19 17:18:29 · 1260 阅读 · 3 评论 -
SpringBoot 高级 -- SpringBoot 项目部署(jar/war)
1. SpringBoot 项目部署原创 2021-11-19 17:25:45 · 322 阅读 · 0 评论 -
SpringBoot 监控 - Spring Boot Admin
1. Spring Boot Admin使用游览器地址栏访问SpringBoot的监控信息太繁琐了,所以Spring Boot Admin就诞生了,以UI界面的方式来显示监控信息。Spring Boot Admin说明:Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。Spring Boot Admin 有两个角色,客户端(Client)和服务端(Server)。应用程序作为Spring Boot Admin Client向为Spring Bo原创 2021-11-19 15:42:26 · 1269 阅读 · 0 评论 -
SpringBoot 高级 -- SpringBoot 监控
1. SpringBoot 监控1.1 SpringBoot 监控概述SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、配置属性、日志信息等。1.2 SpringBoot 监控使用导入依赖坐标<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-原创 2021-11-19 14:46:41 · 1286 阅读 · 1 评论 -
SpringBoot 高级 原理分析 -- SpringBoot启动流程分析
1. SpringBoot启动流程分析下面是SpringBoot完整的启动流程说明:本节案例承接SpringBoot 高级 原理分析 – 监听机制,我们通过Debug的方式去查看启动的流程:1.1 流程分析:初始化1.1.1 在程序的入口处打一个断点说明:...原创 2021-11-18 23:28:29 · 381 阅读 · 0 评论 -
SpringBoot 高级 原理分析 -- 监听机制
1. SpringBoot 高级 原理分析 – 监听机制1.1 引入SpringBoot 的监听机制,其实是对Java提供的事件监听机制的封装。Java中的事件监听机制定义了以下几个角色:① 事件:Event,继承 java.util.EventObject 类的对象② 事件源:Source ,任意对象Object③ 监听器:Listener,实现 java.util.EventListener 接口 的对象SpringBoot 在项目启动时,会对几个监听器进行回调,我们可以实现这原创 2021-11-18 16:43:47 · 402 阅读 · 0 评论 -
SpringBoot 高级 原理分析 -- 自定义redis-starter
1. 自定义redis-starter需求:自定义redis-starter。要求当导入redis坐标时,SpringBoot自动创建Jedis的Bean。1.1 参考mybatis-spring-boot-starter引入mybatis-spring-boot-starterpom.xml<!--引入mybatis-stater--> <dependency> <groupId>org.mybatis.sp原创 2021-11-17 23:54:40 · 1905 阅读 · 2 评论 -
SpringBoot 高级 原理分析 -- @EnableAutoConfiguration 注解
1. @EnableAutoConfiguration 注解@EnableAutoConfiguration注解内部使用 @Import(AutoConfigurationImportSelector.class)来加载配置类。配置文件位置:META-INF/spring.factories,该配置文件中定义了大量的配置类,当 SpringBoot 应用启动时,会自动加载这些配置类,初始化Bean并不是所有的Bean都会被初始化,在配置类中使用Condition来加载满足条件的Bean查看原创 2021-11-17 20:39:42 · 267 阅读 · 0 评论 -
SpringBoot 高级 原理分析 -- @Import注解
1. @Import注解@Enable*底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中。而@Import提供4中用法:① 导入Bean(直接导入相关的Bean)② 导入配置类(会把配置类里面所有定义的Bean都注入到IOC容器里面)③ 导入 ImportSelector 实现类。一般用于加载配置文件中的类④ 导入 ImportBeanDefinitionRegistrar 实现类。说明:本节案例承接上节案例1.1 导入Bean(直接导原创 2021-11-17 19:58:28 · 1019 阅读 · 4 评论 -
SpringBoot 高级 原理分析 -- @Enable*注解、@Import注解
1. @Enable*注解SpringBoot中提供了很多Enable开头的注解,这些注解都是用于动态启用某些功能的。而其底层原理是使用@Import注解导入一些配置类,实现Bean的动态加载。准备工作,创建2个Maven工程模块Spring-pojo引入Spring依赖:pom.xml <dependencies> <!-- Spring依赖--> <dependency>原创 2021-11-17 18:30:34 · 638 阅读 · 1 评论 -
SpringBoot 高级 原理分析 -- 切换内置web服务器
1. 切换内置web服务器SpringBoot的web环境中默认使用tomcat作为内置服务器,其实SpringBoot提供了4中内置服务器供我们选择,我们可以很方便的进行切换。内部原理为Condition。查看SpringBoot内置的四种Web服务器:1.1 演示切换1.1.1 新建测试项目1.1.2 分析依赖坐标SpringBoot默认使用Tomcat服务器,下面我们就来分析一下web的依赖坐标。1.1.3 开始切换排除Tomcat:SpringBoot原创 2021-11-17 14:57:19 · 277 阅读 · 0 评论 -
SpringBoot 高级 原理分析 -- SpringBoot 自动配置:Condition
1. SpringBoot 自动配置:ConditionCondition 是在Spring 4.0 增加的条件判断功能,通过这个可以功能可以实现选择性的创建 Bean 操作。1.1 需求1:判断定义为静态的在 Spring 的 IOC 容器中有一个 User 的 Bean,现要求:导入Jedis坐标后,加载该User的Bean,没导入,则不加载。1.1.1 我们先创建一个SpringBoot的项目1.1.2 配置User类User.java:package com.t原创 2021-11-17 13:10:47 · 554 阅读 · 0 评论 -
SpringBoot 整合其他框架 -- SpringBoot整合Mybatis
1. SpringBoot整合Mybatis需求:SpringBoot整合MyBatis。实现步骤:搭建SpringBoot工程引入mybatis起步依赖,添加mysql驱动编写DataSource和MyBatis相关配置定义表和实体类编写dao和mapper文件/纯注解开发测试1.0 公共步骤1.0.1 搭建SpringBoot工程1.0.2 引入mybatis起步依赖 添加mysql驱动pom.xml <dependency>原创 2021-11-15 22:02:39 · 786 阅读 · 0 评论 -
SpringBoot 整合其他框架 -- SpringBoot整合Redis
1. SpringBoot整合Redis搭建SpringBoot工程引入redis起步依赖配置redis相关属性注入RedisTemplate模板编写测试方法,测试1.1 搭建SpringBoot工程1.2 引入redis起步依赖1.3 配置redis相关属性如果是连接本地redis,可以不用配置,这里是为了以后配置服务器上面的redis做预热。spring: redis: host: 127.0.0.1 # redis的主机ip port: 6379原创 2021-11-15 21:23:33 · 960 阅读 · 0 评论 -
SpringBoot 整合其他框架 -- SpringBoot整合Junit
1. SpringBoot整合Junit1.1 实现步骤分析搭建SpringBoot工程引入starter-test起步依赖 和 junit依赖编写测试类添加测试相关注解@RunWith(SpringRunner.class)@SpringBootTest(classes = 启动类.class)编写测试方法1.2 搭建SpringBoot工程1.3 导入相关依赖pom.xml <dependency> <gr原创 2021-11-15 20:36:06 · 222 阅读 · 0 评论 -
SpringBoot -- 配置:配置文件加载顺序
1. SpringBoot – 配置:配置文件加载顺序1.1 内部配置加载顺序Springboot程序启动时,会从以下位置加载配置文件:优先级1:项目路径下的config文件夹配置文件优先级2:项目的根目录下面配置文件优先级3:资源路径下的config文件夹配置文件优先级4:资源路径下配置文件加载顺序为上文的排列顺序,高优先级配置的属性会生效1.2 外部配置加载顺序外部配置加载顺序官方网站介绍我们只需要记住 命令行参数 是最高的优先级加载顺序。...原创 2021-11-15 19:55:15 · 3698 阅读 · 0 评论 -
SpringBoot -- 配置:多环境配置Profile
1. SpringBoot – 配置:多环境配置Profile1.1 新建一个测试项目 编写配置文件1.2 Properties多环境配置1.2.1 配置新建2个配置文件:application.properties# 指定配置文件为prospring.profiles.active=proapplication-dev.propertiesserver.port=8081application-pro.propertiesserver.port=808原创 2021-11-15 19:37:49 · 853 阅读 · 0 评论 -
SpringBoot -- 配置(yaml / properties)语法 获取配置文件信息、Spring Boot Configuration Annotation...
1. 读取配置文件内容读取配置文件有三种方式:@ValueEnvironment@ConfigurationProperties1.1 @Value注解获取单个值myName: tianjiaogender: maleperson: name: zhangsan gender: ${gender} # 引用上边定义的gender值msg1: 'hello \n world' # 单引忽略转义字符msg2: "hello \n world" # 双引识别转义字符原创 2021-11-15 18:40:06 · 415 阅读 · 0 评论 -
SpringBoot -- 配置(yaml / properties)语法
1. 配置1.1 配置文件类型SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。properties:server.port=8080yml / yaml:server: port: 80801.2 小结SpringBoot提供了2种配置文件类型:properteis和yml/yaml默认原创 2021-11-15 15:29:23 · 1159 阅读 · 0 评论 -
SpringBoot -- 起步依赖原理分析
1. 起步依赖原理分析1.1 spring-boot-starter-parent我们发现spring-boot-starter-parent还依赖于另外一个父工程spring-boot-dependencies探究:spring-boot-dependencies我们发现在工程里面的依赖可以不写版本信息,里面用到了spring-boot-dependencies配置的版本1.2 spring-boot-starter-webspring-boot-starter-web依原创 2021-11-15 00:26:35 · 1145 阅读 · 0 评论 -
SpringBoot -- 概述和快速入门、快速构建SpringBoot工程
1. SpringBoot概述SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。1.1 Spring缺点配置繁琐:虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Sprin原创 2021-11-14 23:51:42 · 167 阅读 · 0 评论