自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 收藏
  • 关注

原创 Mockito单元测试

Mockito单元测试ElephantTest 类:package ut;import static org.mockito.BDDMockito.then;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.never;import static org.mockito.Mockito.spy;import static org.mockito.Mockito.verify;import sta

2021-10-08 17:25:09 280

原创 线程安全synchronized

线程安全synchronizedpackage thread;/** * 线程安全:300个人拧200个螺丝 * synchronized:关键字 同步锁 * 1)修饰代码块:同步语句块 作用对象:调用同步语句块的对象 * 2)修饰方法:同步方法 作用对象:调用同步方法的对象 * 3)修饰静态方法: 作用对象:这个类的所有对象 * 4)修饰类:作用对象:这个类的所有对象 * * 当两个并发线程(thread1和thread2)访问同一个对象(runnable)中的synchronize

2021-09-29 15:27:36 220

原创 线程,线程池基础

线程,线程池基础package thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 创建线程的三种方式: * 1)实现 Runnable接口 * 2)继承Thread类 * 3)通过Callable和Future创建线程 * <p> * 线程资源必须通过线程池提供:使用线程的好处:减少创建和销毁线程所花的时间以及系统资源的开销,解决资源

2021-09-29 15:00:05 216

原创 java Stream流的筛选、排序

java Stream流的筛选、排序package lambda_stream;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class Student { public int id; public String name; p

2021-09-29 14:15:36 4726

原创 华为考试题2

华为考试题2package com.cyl.enquiry.controller;import java.nio.charset.StandardCharsets;import java.util.Scanner;/** * @author cuiyongling * @since V1.0.0 * 2021-06-02 14:17 */public class Test5 { public static void main(String[] args) {

2021-06-12 16:47:56 320

原创 硕士毕业论文页眉页脚页码设置

硕士毕业论文页眉页脚页码设置最近在写论文是涉及到页码页眉的编辑,总是出错,最后得到解决方法,在此记录一下。页码设计:随机页面插入页码:

2021-04-18 13:21:59 1285

原创 thymeleaf中三元运算符嵌套写法

thymeleaf中三元运算符嵌套写法 <td th:text="${enquiry.categoryUniqueId}==1?'技术方案':(${enquiry.categoryUniqueId}==2?'交货周期':'报价')"></td> <table class="table table-striped table-sm"> <thead> <tr>

2021-01-01 17:34:35 2840

原创 登录拦截器

登录拦截器1、将登陆用户的用户名放到session中,用于后面的登录拦截(只要登陆了用户就会在session中存在) //@RequestMapping(value = "/user/login",method = RequestMethod.POST) @PostMapping(value = "/user/login") public String login(@RequestParam("username") String username,

2020-11-28 16:18:50 1301

原创 防止重复提交表单:重定向

防止重复提交表单:重定向 //@RequestMapping(value = "/user/login",method = RequestMethod.POST) @PostMapping(value = "/user/login") public String login(@RequestParam("username") String username, @RequestParam("password") String passwo

2020-11-28 16:05:39 148

原创 开发期间:模板引擎页面修改后,实时生效

开发期间:模板引擎页面修改后,实时生效1、禁用模板引擎的缓存:#开发期间模板引擎页面修改以后,要实时生效:禁用模板引擎的缓存spring.thymeleaf.cache=false2、页面修改之后ctrl+F9,进行重新编译...

2020-11-28 15:09:29 163

原创 SpringBoot中的国际化

SpringBoot中的国际化1)、编写国际化配置文件:2)、SpringBoot自动配置好了管理国际化资源文件的组件:3)、去页面获取国际化的值:<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

2020-11-14 21:08:05 83

原创 Spring Boot中扩展SpringMVC的功能

Spring Boot中扩展SpringMVC的功能之前可以通过创建xml配置文件进行SpringMVC的扩展:springmvc.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http:/

2020-11-14 19:31:28 212

原创 Spring Boot 中SpringMVC的自动配置

Spring Boot 中SpringMVC的自动配置在springboot1.0中编写webmvc的配置类需要继承WebMvcAutoConfigurationAdapter。在springboot2.0中编写webmvc的配置类需要实现WebMvcConfigurer。Spring Boot 自动配置好了SpringMVC以下是SpringBoot对SpringMVC的默认配置:(WebMvcAutoConfiguration)自己添加的格式化器转换器,我们只需要放在容器中即可...

2020-11-14 13:00:27 125

原创 使用Maven下载客户端依赖项:WebJars

使用Maven下载客户端依赖项:WebJars使用基于JVM的构建工具(例如Maven,Gradle,sbt等)来下载客户端依赖项:WebJarsWebJars例如:jQuery和Bootstrap<dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.5.1</version&gt

2020-11-14 12:18:23 406

原创 Spring Boot 模板引擎:Thymeleaf的使用

Spring Boot 模板引擎:Thymeleaf的使用模板引擎:JSP、Velocity、Freemarker、ThymeleafSpringBoot推荐的Thymeleaf:语法更简单,功能更强大。1、引入thymeleaf: <!--引入Thymeleaf模块--> <dependency> <groupId>org.springframework.boot</groupId>

2020-11-12 18:18:31 135

原创 SpringBoot对静态资源的映射规则

SpringBoot对静态资源的映射规则@ConfigurationProperties( prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties { //可以设置和静态资源有关的参数 private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[] {"classp

2020-11-10 23:00:54 159

原创 使用SpringBoot进行Web开发

使用SpringBoot进行Web开发1. 创建SpringBoot应用,选中我们需要的模块;2. SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 ;3. 自己编写业务代码。最重要:自动配置原理这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们给容器中自动配置组件;xxxxProperties:配置类来封装配置文件的内容;...

2020-11-10 20:54:40 179

原创 Spring Boot切换日志框架

Spring Boot切换日志框架我们可以按照slf4j的日志适配图,进行相关的切换:slf4j+log4j的方式来替换以前slf4j+logback:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐web</artifactId> <exclusions> <exclusion&gt

2020-11-10 17:38:34 91

原创 Spring Boot中指定日志的配置文件

Spring Boot中指定日志的配置文件给类路径下放上每个日志框架自己的配置文件即可,这样SpringBoot就不使用他默认配置的了。logback.xml:直接就被日志框架识别了。logback-spring.xml:日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能。<springProfile name="staging"><!‐‐ configuration to be enabled when

2020-11-10 17:18:57 1006

原创 Spring Boot日志使用

Spring Boot日志使用默认配置SpringBoot默认帮我们配置好了日志package com.cyl.springboot;import org.junit.jupiter.api.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.test.context.SpringBootTest;@SpringBootTestclass SpringBo

2020-11-10 17:09:21 614

原创 Spring Boot 日志关系

Spring Boot 日志关系<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.5.RELEASE</version> <scope>compile</scope>&lt

2020-11-10 16:21:04 74

原创 Spring Boot日志-3 ------>SLF4J与别的框架整合

Spring Boot日志-3 ------>SLF4J与别的框架整合存在的问题:在系统A中使用的日志是(slf4j+logback),但是 Spring框架底层使用的是(commons-logging)、Hibernate的日志使用的是(jboss-logging)、MyBatis、xxxx等等。我们需要做的:统一日志记录,即使是别的框架和我一起统一使用slf4j进行输出。如何让系统中所有的日志都统一到slf4j:1、将系统中其他日志框架先排除出去;2、用中间包来替换原有的日志框架;

2020-11-10 15:44:43 194

原创 Spring Boot日志-2 ----> SLF4J

Spring Boot日志-2SLF4J详细参考:http://www.slf4j.org/manual.html如何使用:开发的时候日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;给系统里面导入slf4j的jar和 logback的实现jar。import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class HelloWorld { public static void main(Str

2020-11-10 15:20:27 119

原创 Spring Boot 日志-1

Spring Boot 日志-1市面上的日志框架;JCL、SLF4J、Jboss-logging、log4j、log4j2、logback、JUL…左边选一个门面(抽象层)、右边来选一个实现:日志门面: SLF4J;日志实现:Logback;SpringBoot:底层是Spring框架,Spring框架默认是用JCL;SpringBoot选用 SLF4j和logback。补充:日志框架小张开发一个大型系统:1、System.out.println("");将关键数据打印在控制台;去掉

2020-11-09 23:05:18 107

原创 @Conditional注解

@Conditional注解作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置里面的所有内容才生效。自动配置类必须在一定的条件下才能生效通过启用 debug=true属性,来让控制台打印自动配置报告,这样我们就可以很方便的知道哪些自动配置类生效。============================CONDITIONS EVALUATION REPORT============================Positive matches:--------

2020-11-09 22:43:00 177

原创 Spring Boot中自动配置原理-2

Spring Boot中自动配置原理-2自动配置原理1. SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration@EnableAutoConfiguration 的作用:利用AutoConfigurationImportSelector给容器中导入一些组件:可以查看selectImports()方法的内容:获取候选的配置。将类路径下 META-INF/spring.factories 里面配置的所有EnableAutoConfig

2020-11-09 22:38:24 79

原创 Spring Boot中自动配置原理-1

Spring Boot中自动配置原理-1重点:1. SpringBoot启动会加载大量的自动配置类;2. 看我们需要的功能有没有SpringBoot默认写好的自动配置类;3. 再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件有,我们就不需要再来配置了)4. 给容器中自动配置类添加组件的时候,会从properties类中获取某些属性;我们可以在配置文件中指定这些属性的值。**xxxxAutoConfigurartion:自动配置类:给容器中添加组件;@Configuration(

2020-11-09 22:19:56 86

原创 导入配置文件处理器,配置文件进行绑定就会有提示

导入配置文件处理器,配置文件进行绑定就会有提示在pom.xml中导入配置文件处理器,配置文件进行绑定就会有提示。<!--导入配置文件处理器,配置文件进行绑定就会有提示--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor&

2020-11-09 22:01:32 144

原创 Spring Boot的外部配置加载顺序

Spring Boot的外部配置加载顺序1. SpringBoot也可以从以下位置加载配置;2. 优先级从高到低;3. 高优先级的配置覆盖低优先级的配置;4. 所有的配置会形成互补配置。1.命令行参数所有的配置都可以在命令行上进行指定java -jar springboot-01-hello-quick-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc多个配置用空格分开; --配置项=值2.来自java

2020-11-07 22:11:19 72

原创 Spring Boot的配置文件加载位置

Spring Boot的配置文件加载位置springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件。–file:./config/–file:./–classpath:/config/–classpath:/优先级由高到底,高优先级的配置会覆盖低优先级的配置。SpringBoot会从这四个位置全部加载主配置文件,互补配置。注:可以通过spring.config.location来改变默

2020-11-07 21:49:08 61

原创 Spring Boot配置:Profile多环境支持

Spring Boot配置:Profile多环境支持Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活、指定参数等方式快速切换环境。多Profile文件我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties;默认使用application.properties的配置。yml支持多文档块方式激活指定profile1、在配置文件中指定 spring.profiles.active=dev2、打成jar包后,执

2020-11-07 21:19:59 118

原创 配置文件的占位符

配置文件的占位符随机数:${random.value}、${random.int}、${random.long}${random.int(10)}、${random.int[1024,65536]}占位符获取之前配置的值,如果没有可以是用:指定默认值application.properties全局配置文件:#idea的properties的默认编码是ascii#配置person的值person.name=李四${random.uuid}person.age=${random.in

2020-11-07 20:50:10 320

原创 @PropertySource和@ImportResource和@Bean的使用

@PropertySource和@ImportResource和@Bean的使用@PropertySource:加载指定的配置文件:/** * 将配置文件中配置的每一个属性的值,映射到这个组件中 * @ConfigurationProperties:告诉Springboot将本类中的所有属性和配置文件中相关的配置进行绑定; * prefix = "person":指明与配置文件中哪个下面的所有属性进行一一映射。 * * @ConfigurationProperties:默认从全局配置文件

2020-11-07 20:39:32 128

原创 @Value获取值和@ConfigurationProperties获取值比较

@Value获取值和@ConfigurationProperties获取值比较配置文件yml和properties都能获取到值:只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value。专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties。注:配置文件注入值进行数据校验时使用@ConfigurationProperties和@Validated...

2020-11-07 19:49:36 96

原创 YAML的基本语法

YAML的基本语法1、基本语法k:(空格)v:表示一对键值对(空格必须有);以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的。server: port: 8081 path: /hello属性和值也是大小写敏感。2、值的写法字面量:普通的值(数字,字符串,布尔)k: v:字面直接来写。字符串默认不用加上单引号或者双引号;“”:双引号;不会转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思。name: “zhangsan \n lisi”:输出;zha

2020-11-07 17:09:36 582

原创 Spring Boot的全局配置文件

Spring Boot的全局配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的:•application.properties•application.yml配置文件的作用:修改SpringBoot自动配置的默认值。(SpringBoot在底层都给我们自动配置好了,我们可以通过配置文件进行修改。)YAML(YAML Ain’t Markup Language)YAML A Markup Language:是一个标记语言YAML isn’t Markup Language:

2020-11-07 16:44:26 512

原创 IDEA使用Spring Initializer快速创建Spring Boot项目(必须联网)

IDEA使用Spring Initializer快速创建Spring Boot项目(必须联网)IDEA:使用 Spring Initializer快速创建项目IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目。我们可以选择我们需要的模块,向导会联网创建Spring Boot项目。默认生成的Spring Boot项目,主程序已经生成好了,我们只需要我们自己的逻辑。resources文件夹中目录结构:static:保存所有的静态资源, js css image

2020-11-07 16:29:51 1048

原创 Spring Boot主程序类、主入口类(@SpringBootApplication注解)

Spring Boot主程序类、主入口类(@SpringBootApplication注解)/** * @SpringBootApplication 来标注一个主程序类,说明这是一个Springboot应用 */@SpringBootApplicationpublic class HelloMainApplication { public static void main(String[] args) { //Spring应用启动起来 SpringAppl

2020-11-07 15:45:43 467

原创 Spring Boot第一个项目HelloWorld(开发、部署)

Spring Boot第一个项目HelloWorld(开发、部署)实现的功能:浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串。1、创建一个maven工程;(jar)2、导入spring boot相关的依赖(pom.xml) <!--导入spring boot相关的依赖--> <parent> <groupId>org.springframework.boot</groupId>

2020-11-06 15:51:08 198

原创 微服务

微服务单体应用存在的问题:牵一发而动全身1、一个小小的修改,整个项目(应用)都要重新部署,重新来运行。2、日益增长的软件需求。微服务:每一个服务都是一个可替换的、可独立升级的软件单元。...

2020-11-05 14:13:17 74

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除