springboot注解@PostContruct以及@Cacheable
1.@PostContruct
@PostConstruct和@PreDestroy两个注解被用来修饰一个非静态的void()方法。
@PostConstruct
加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。
执行顺序为:
Constructor 构造方法>> @Autowired 依赖注入>> @PostConstruct后期构造 >> 静态方法
@PreDestroy
服务器卸载Servlet的时候运行,且只会被服务器调用一次,类似Servlet的destroy()方法。
被@PreConstruct修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。
2.@Cacheable 注意: 使用spring缓存注解之前需要开启注解
@Cacheable
value/cacheNames属性意义相同 将方法的返回结果存入哪里
key属性:来指定缓存数据所使用的key 默认使用方法调用传过来的参数作为 key
keyGenerator属性:通过自定义配置类方式,将 keyGenerator 注册到 IOC 容器来使用
key/keyGenerator属性二选一使用
cacheManager属性:用来指定缓存管理器
cacheResolver属性:用来指定缓存管理器 使用配置同 cacheManager 类似
cacheManager指定管理器/cacheResolver指定解析器 它俩也是二选一使用
condition属性:
条件判断属性,用来指定符合指定的条件下才可以缓存,
可以通过SpEL 表达式设置 condition = "#id >1 and #controller.methodName eq 'findAllDept'"
unless属性:意为"除非"的意思。即只有 unless 指定的条件为 true 时,
方法的返回值才不会被缓存。可以在获取到结果后进行判断。
sync属性:该属性用来指定是否使用异步模式,该属性默认值为 false,默认为同步模式。
异步模式指定 sync = true 即可,异步模式下 unless 属性不可用。
@CacheEvict 清空指定缓存
前面几个属性和@Cacheable属性相同
allEntries属性: 将这个缓存中的数据都删除
beforeInvocation属性:缓存的清除是否在方法之前执行,默认代表在方法执行之后执行 true是先操作缓存,再执行方法。
springboot注解@PostContruct以及@Cacheable的更多相关文章
- springboot注解使用说明
springboot注解 @RestController和@RequestMapping注解 我们的Example类上使用的第一个注解是 @RestController .这被称为一个构造型(ster ...
- springBoot系列-->springBoot注解大全
一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...
- SpringBoot注解大全(转)
原文链接:[springBoot系列]--springBoot注解大全 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Co ...
- springboot注解大全
springboot注解:@Service: 注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表示这是一个数据 ...
- SpringBoot注解验证参数
SpringBoot注解验证参数 废话不多说,直接上表格说明: 注解 作用类型 解释 @NotNull 任何类型 属性不能为null @NotEmpty 集合 集合不能为null,且size大于0 @ ...
- SpringBoot注解把配置文件自动映射到属性和实体类实战
SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1.配置文件加载 方式一 1.Controller上面配置 @Propert ...
- 转-spring-boot 注解配置mybatis+druid(新手上路)-http://blog.csdn.net/sinat_36203615/article/details/53759935
spring-boot 注解配置mybatis+druid(新手上路) 转载 2016年12月20日 10:17:17 标签: sprinb-boot / mybatis / druid 10475 ...
- 【转载】springboot注解
https://blog.csdn.net/yitian_66/article/details/80866571 springboot注解:@Service: 注解在类上,表示这是一个业务层bean@ ...
- SPRINGBOOT注解最全详解(
# SPRINGBOOT注解最全详解(整合超详细版本) 使用注解的优势: 1.采用纯java代码,不在需要配置繁杂的xml文件 ...
- springboot + 注解 + 拦截器 + JWT 实现角色权限控制
1.关于JWT,参考: (1)10分钟了解JSON Web令牌(JWT) (2)认识JWT (3)基于jwt的token验证 2.JWT的JAVA实现 Java中对JWT的支持可以考虑使用JJWT开源 ...
随机推荐
- 1008.Django模型基础03
一.关系表的数据操作 关系表中的数据操作 查看数据库中的表结构 一对多表关系数据的添加: 1. 第一种方式就是跟之前一样,用传参的方法添加,需要注意的是外键的值必须是关联表中已存在的值: 2. 第二种 ...
- Cmake 把 CGAL的demo 编译生成 .sln文件 遇到的一些问题
尝试了N个版本后,选择了CGAL5.02 为啥去官网或者github下载的CGAl只是一个库,没有窗口,而这个却有呢 链接:https://pan.baidu.com/s/1TvrWQRc9yYD ...
- restfull风格传参
- What is Weight Lifting?
Weight lifting is the process of lifting items of great mass in order to increase the muscle size an ...
- mysql 的存储过程
定义不带参数的存储过程 CREATE PROCEDURE s1() BEGINselect * from ecs_admin_action;End call s1; 2.带输入参数的 create P ...
- Java 面试手撕代码
1. 判断括号有效性 public static boolean fun5(String str) { HashMap<Character, Character> hashMap = ne ...
- 密码破解-hashcat的简单使用
在我们抓取到系统的hash值之后,需要通过一些工具来破解密码 hashcat是一款可以基于显卡暴力破解密码的工具,几乎支持了所有常见的加密,并且支持各种姿势的密码搭配 在kali Linux中自带的有 ...
- PXE(cobbler)搭建,自动系统安装
pxe pxe实现全自动安装操作系统,其中用到的软件包括(dhcp首先给客户端分配IP地址提供的系统引导安装系统指向tftp-server启动并加载网络repo仓库由http服务和系统镜像制作) dh ...
- 今日Python相关练习
1.计算日期范围内的所有日期 def get_date_list(begin_date,end_date): date_list = [] while begin_date <= end_dat ...
- Sql 注入方案合集
[以mysql 数据库为例] [参考书目:sqlilabs过关手册注入天书 https://www.cnblogs.com/lcamry/category/846064.html] 推荐看原书,这篇文 ...