AOP 有三种实现方式: 动态代理(Dynamic Proxy) 编译时织入(Compile Time Weaving,CTW) 加载时织入(Load Time Weaving,LTW) 动态代理 添加 AOP 相关依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </d…
AOP 有三种实现方式: 动态代理(Dynamic Proxy) 编译时织入(Compile Time Weaving,CTW) 加载时织入(Load Time Weaving,LTW) 动态代理 添加 AOP 相关依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </d…
Scope Spring 的 bean 是有作用域(Scope)的: singleton:单例 prototype:原型,每次都获取到新的实例。 request:请求,在一次 HTTP 请求内有效。 session:会话,在一次 HTTP 会话内有效。 application:应用,在一个 Servlet 容器中有效。 默认的作用域是单例。 最后三种作用域都与 Web 应用相关,可以用一个简单的基于 Spring Boot 的 Web 应用观察其创建和销毁。 定义三种不同作用域的 bean: @Scope(WebA…
Aware 接口 Spring 提供一组 Aware 接口,可以利用它们在 bean 中获取容器或 bean 相关的句柄: @ToString @Slf4j static class MyBean implements ApplicationContextAware, BeanNameAware, InitializingBean { private String beanName; private ApplicationContext applicationContext; @Overrid…
用途 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…
问题描述 使用 Idea 创建 Spring 项目时,有概率会出现如下错误信息: "https://start.spring.io'的初始化失败 请检查URL、网络和代理设置。 错误消息: Cannot download 'https://start.spring.io': connect timed out , response: 200 null 但访问 Spring 官网正常。 问题分析 可能是由于使用了 V2RayN 等网络工具,启用了系统的网络代理,但 Idea 没有正确处理代理,所以连接不到 Sprin…
Bean 定义和 Bean 实例 AnnotationConfigApplicationContext 首先,创建一个最简单的 Spring Boot 应用。 在入口类中接收SpringApplication.run的返回值: @SpringBootApplication public class DemoApplication { public static void main(String[] args) { ConfigurableApplicationContext contex…
博客更新后意外发现验证码插件失效了,登录不了后台了。好在通过 SSH 删除插件目录的验证码插件就解决了。 翻了一下 WordPress 插件社区,找到了一个适合 6.8.1 版本的验证码插件 hCaptcha for WP。 相对于原来使用的简单的图片验证码,这个验证码使用成熟的机器验证供应商,可以根据网站被攻击的程度提供不同的验证级别来保护网站。 要使用这个插件,需要先在 https://dashboard.hcaptcha.com/ 这个网站注册账号。 然后在 Sites 这个页面设置一个网站: 设置项里可以调…
通常会通过结构面板来查看类拥有的方法列表: 默认不会显示从父类继承的方法,如果要显示: 除了这种方式,还可以使用 Ctrl+F12 : 这种方式适合小屏幕开发隐藏了侧边栏的情况下使用。
经常使用 Idea 的应该知道,通过Ctrl+I可以查看继承(或实现)了当前类(或接口)的子类(或子接口): 如果你需要查看当前类继承自哪些父类(或接口),可以使用Ctrl+alt+U查看类图: 默认的类图显示的继承层次结构不够清晰,可以在类图上右键选择: 这样类图就会按照继承关系层级对齐展示: 如果需要将编辑器中的代码定位到类图中的某个类,可以选中目标类,然后按F4(鼠标双击也可以)。 除了使用快捷键,也可以在选中类名时通过右键菜单的方式打开类图: 虽然可以像上面说的,打开类图后按需要调整类图展示方式,但不是很方…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由
提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang