用途 ConfigurationClassPostProcessor 前文提到过,bean 工厂的后处理器可以用于处理 bean 定义。比如下面的示例: static class Bean1{} @Configuration @ComponentScan(basePackages = "cn.icexmoon.demo.bean") static class Config{ @Bean public Bean1 bean1(){ return new Bean1(); } } bean…
用途 ConfigurationClassPostProcessor 前文提到过,bean 工厂的后处理器可以用于处理 bean 定义。比如下面的示例: static class Bean1{} @Configuration @ComponentScan(basePackages = "cn.icexmoon.demo.bean") static class Config{ @Bean public Bean1 bean1(){ return new Bean1(); } } bean…
在前篇中介绍了,Spring 提供了一些 bean 的后处理器(实现了 BeanPostProsessor 接口),用于处理 bean 的依赖注入等。实际上,我们可以通过自定义一个实现了相应接口的后处理器来观察 bean 的生命周期。 Bean 生命周期 创建一个用于打印不同生命周期方法钩子的 bean 后处理器: static class MyBeanPostProcessor implements InstantiationAwareBeanPostProcessor, DestructionAwareBean…
博客更新后意外发现验证码插件失效了,登录不了后台了。好在通过 SSH 删除插件目录的验证码插件就解决了。 翻了一下 WordPress 插件社区,找到了一个适合 6.8.1 版本的验证码插件 hCaptcha for WP。 相对于原来使用的简单的图片验证码,这个验证码使用成熟的机器验证供应商,可以根据网站被攻击的程度提供不同的验证级别来保护网站。 要使用这个插件,需要先在 https://dashboard.hcaptcha.com/ 这个网站注册账号。 然后在 Sites 这个页面设置一个网站: 设置项里可以调…
1.基本类型之间 先看不同类型的基本类型之间的比较: private static void test2(){ int a = 100; long b = 100L; boolean result = b == a; System.out.println(result ? "相等" : "不相等"); } 结果是: 相等 这里实际上进行了隐式类型转换,编译器将 int 类型“提升”为 long 类型后进行比较,相当于: boolean result = b == (long)a; 2.包装类…
图源:ubiq.co 简单的说,视图就是“固化的SQL查询”。 这里看一个简单示例,我们有一个表,保存学生信息: mysql> select * from student limit 10; +-----+---------------+-----------+----------+ | id | average_score | level | name | +-----+---------------+-----------+----------+ | 573 | 27 …
图源:ubiq.co 在 MySQL 中,用事件(Event)表示和定义一个定时任务。 我们可以利用事件执行一些定时任务,比如定期生成统计数据、清理和转储日志表等。 启用事件 在使用事件之前需要先检查 MySQL 是否开启了事件功能: mysql> SELECT @@event_scheduler; +-------------------+ | @@event_scheduler | +-------------------+ | ON | +------------------…
图源:ubiq.co 触发器,就像字面意思那样,它会在数据库某些事件发生时执行一些操作。 具体来说,触发器会在特定表的INSERT、UPDATE、DELETE这些类型的 SQL 语句执行时被“触发”,并执行触发器中定义好的(一条或多条) SQL 语句。 在 MySQL 中,触发器存在一些限制,我们只能对同一张表定义最多6个触发器,分别对应6个事件: BEFORE INSERT AFTER INSERT BEFORE UPDATE AFTER UPDATE BEFORE DELETE AFTER DELETE 此外,…
图源:ubiq.co 存储过程可以看做是将一组 SQL打包执行,并返回最终的执行结果。 其优点是:因为存储过程中的 SQL 是同时一次执行,所以没有数据一致性的问题。其次,不需要由客户端多次传输 SQL 命令,而只需要告诉 MySQL 执行某某存储过程,所以性能上比执行同样内容的多条 SQL 是要更好的。最后,使用存储过程,即使某些表结构发生变化,只要存储过程返回的结果和接收参数不发生改变,相应的调用代码也无需改变。 本文介绍如何创建和使用 MySQL 的存储过程。 本文使用可视化数据库连接工具 SQLyog 连接…
图源:简书 (jianshu.com) 在之前的文章中我们学习过条件查询(Criterial Query),构建条件查询的一般步骤是: 获取HibernateCriteriaBuilder 利用HibernateCriteriaBuilder创建JpaCriteriaQuery 利用JpaCriteriaQuery获取查询的根 利用HibernateCriteriaBuilder构建谓词 用谓词组装JpaCriteriaQuery 利用JpaCriteriaQuery创建Query并执行查询 本篇文章将进一步说明构…
图源:简书 (jianshu.com) 在 JPA 中关联实体实际上对应表连接,而表连接可以通过内连接(Inner Join)、外连接(Outer Join)和 Where等方式实现,实际上 JPA 也用这些方式实现对所关联的实体数据的查询和加载。 本文示例使用以下实体类: @Getter @Builder @NoArgsConstructor @AllArgsConstructor @Entity public class School { @Id @GeneratedValue(strategy =…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang