10 2021 档案
摘要:参数化测试 参数化测试是JUnit5很重要的一个新特性,它使得用不同的参数多次运行测试成为了可能,也为我们的单元测试带来许多便利。 利用@ValueSource等注解,指定入参,我们将可以使用不同的参数进行多次单元测试,而不需要每新增一个参数就新增一个单元测试,省去了很多冗余代码。 @ValueSo
阅读全文
摘要:SpringBoot 2.4 以上版本移除了默认对 Vintage 的依赖。如果需要兼容junit4需要自行引入(不能使用junit4的功能 @Test) JUnit 5’s Vintage Engine Removed from spring-boot-starter-test,如果需要继续兼容j
阅读全文
摘要:JUnit5 的变化 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库 作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成。 JUnit 5 = JUnit Platform + JUnit Jup
阅读全文
摘要:RedisTemplate与Lettuce @Test void testRedis(){ ValueOperations<String, String> operations = redisTemplate.opsForValue(); operations.set("hello","world"
阅读全文
摘要:Profile功能 为了方便多环境适配,springboot简化了profile功能。 application-profile功能 默认配置文件 application.yaml;任何时候都会加载 指定环境配置文件 application-{env}.yaml 激活指定环境 配置文件激活 命令行激活
阅读全文
摘要:NoSQL Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitma
阅读全文
摘要:CRUD功能实例 @GetMapping("/user/delete/{id}") public String deleteUser(@PathVariable("id") Long id, @RequestParam(value = "pn",defaultValue = "1")Integer
阅读全文
摘要:什么是MyBatis-Plus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 mybatis plus 官网 建议安装 MybatisX 插件 整合MyBatis-Plus <dependency>
阅读全文
摘要:https://github.com/mybatis starter SpringBoot官方的Starter:spring-boot-starter-* 第三方的: *-spring-boot-starter <dependency> <groupId>org.mybatis.spring.boo
阅读全文
摘要:分析自动配置 扩展配置项 spring.datasource.druid DruidSpringAopConfiguration.class, 监控SpringBean的;配置项:spring.datasource.druid.aop-patterns DruidStatViewServletCon
阅读全文
摘要:这本书的第一章的第一句话是这样说的:读这本书通常有两个原因:1. 你是一名程序员。2. 你想成为更好的程序员。我们需要更好的程序员。 不管是现实世界还是软件项目中,命名都是一件让人头疼的事情,给小孩起过名字的就知道,你希望把你对孩子的期望包含在这个名字中, 你又希望这个名字读起来要好听,至少不至于将
阅读全文
摘要:官方starter方式 引入druid-starter <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version> <
阅读全文
摘要:druid官方github地址 https://github.com/alibaba/druid 整合第三方技术的两种方式 自定义 找starter 创建数据源 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifa
阅读全文
摘要:切换嵌入式Servlet容器 默认支持的webServer Tomcat, Jetty, or Undertow ServletWebServerApplicationContext 容器启动寻找ServletWebServerFactory 并引导创建服务器 切换服务器 <dependency>
阅读全文
摘要:spring: datasource: url: jdbc:mysql://localhost:3306/db_account username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver 测试: @Slf4j @S
阅读全文
摘要:自动配置的类 DataSourceAutoConfiguration : 数据源的自动配置 修改数据源相关的配置:spring.datasource 数据库连接池的配置,是自己容器中没有DataSource才自动配置的 底层配置好的连接池是:HikariDataSource @Configurati
阅读全文
摘要:使用RegistrationBean @Configuration public class MyRegistConfig { @Bean public ServletRegistrationBean myServlet(){ MyServlet myServlet = new MyServlet(
阅读全文
摘要:Tomcat-Servlet; 多个Servlet都能处理到同一层路径,精确优选原则 A: /my/ B: /my/1
阅读全文
摘要:Web原生组件注入(Servlet、Filter、Listener) 使用Servlet API @ServletComponentScan(basePackages = "com.atguigu.admin") :指定原生Servlet组件都放在那里 @WebServlet(urlPatterns
阅读全文
摘要:为什么导入JDBC场景,官方不导入驱动?官方不知道我们接下要操作什么数据库。 数据库版本和驱动版本对应 自己添加 默认版本:<mysql.version>8.0.22</mysql.version> <dependency> <groupId>mysql</groupId> <artifactId>
阅读全文
摘要:定制化的常见方式 修改配置文件; xxxxxCustomizer; 编写自定义的配置类 xxxConfiguration;+ @Bean替换、增加容器中默认组件;视图解析器 Web应用 编写一个配置类实现 WebMvcConfigurer 即可定制化web功能;+ @Bean给容器中再扩展一些组件
阅读全文
摘要:异常处理步骤流程 1、执行目标方法,目标方法运行期间有任何异常都会被catch、而且标志当前请求结束;并且用 dispatchException 2、进入视图解析流程(页面渲染?) processDispatchResult(processedRequest, response, mappedHan
阅读全文
摘要:定制Servlet容器 实现 WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> 把配置文件的值和ServletWebServerFactory 进行绑定 修改配置文件 server.xxx 直接自定义 Configurab
阅读全文
摘要:异常处理自动配置原理 ErrorMvcAutoConfiguration 自动配置异常处理规则 容器中的组件:类型:DefaultErrorAttributes -> id:errorAttributes public class DefaultErrorAttributes implements
阅读全文
摘要:定制错误处理逻辑 自定义错误页 error/404.html error/5xx.html;有精确的错误状态码页面就匹配精确,没有就找 4xx.html;如果都没有就触发白页 @ControllerAdvice+@ExceptionHandler处理全局异常;底层是 ExceptionHandler
阅读全文
摘要:异常处理 默认规则 默认情况下,Spring Boot提供/error处理所有错误的映射 对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态和异常消息的详细信息。对于浏览器客户端,响应一个“ whitelabel”错误视图,以HTML格式呈现相同的数据
阅读全文
摘要:要对其进行自定义,添加View解析为error 要完全替换默认行为,可以实现 ErrorController 并注册该类型的Bean定义,或添加ErrorAttributes类型的组件以使用现有机制但替换其内容。 error/下的4xx,5xx页面会被自动解析;
阅读全文
摘要:文件上传代码 /** * MultipartFile 自动封装上传过来的文件 * @param email * @param username * @param headerImg * @param photos * @return */ @PostMapping("/upload") public
阅读全文
摘要:文件上传 页面表单 <form method="post" action="/upload" enctype="multipart/form-data"> <input type="file" name="file"><br> <input type="submit" value="提交"> </f
阅读全文
摘要:1、根据当前请求,找到HandlerExecutionChain【可以处理请求的handler以及handler的所有 拦截器】 2、先来顺序执行 所有拦截器的 preHandle方法 1、如果当前拦截器prehandler返回为true。则执行下一个拦截器的preHandle 2、如果当前拦截器返
阅读全文

浙公网安备 33010602011771号