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开源 ...
随机推荐
- 一次CentOS 出现“Too many open files"错误的解决
一.原因分析 出现本问题,应该是打开文件最多数量不足,默认是1024个,在生产环境中经常出现该问题. 使用ulimit -a 查看打开文件数量限制 二.解决方案A(临时有效) 1.如果是非root用户 ...
- Nginx常用经典配置|反向代理、HTTPS重定向、端口转发
二级目录映射 目前前后端项目分离场景多了以后,一般是前端一个端口,后端一个端口. 如前端是https://example.com/index.html,调用的接口是https://example.co ...
- selenium--- 数据驱动测试 ddt
通过使用数据驱动测试的方法,可以在需要验证多组数据的测试场景中,使用外部数据源实现对输入值和期望值的参数化,从而避免在测试中仅使用硬编码的数据.将测试数据和测试脚本分离开,使得测试脚本在不同数据集合下 ...
- TAP 交换机
首发第一篇,就想分享一下TAP交换机的网络设备,为啥要谈这个呢,因为是一个冷门产品,大厂一般都没有,有也不作为重点产品推介,所以关注的人少,希望能给有这方面需求的人,又苦于找不到介绍资料的人以帮助.在 ...
- P2962 [USACO09NOV]Lights G(Meet In The Middle)
[USACO09NOV]Lights G 题目描述 给出一张n个点n条边的无向图,每个点的初始状态都为0. 你可以操作任意一个点,操作结束后该点以及所有与该点相邻的点的状态都会改变,由0变成1或由1变 ...
- go设置http代理
打算把之前python写的程序切换到golang, 结果调试时发现fiddler无法正常捕获go的http请求 需要设置代理才可以正常捕获 const HttpProxyUrl = "htt ...
- Postgresql 或GreenPlum 查询结果部分字段转json格式并保留字段名(row_to_json)
-- 一些搜索结果给出 部分字段转json保留原字段的方式是用子查询select row_to_json(t) from ( select id, text from words ) t 但是如果子查 ...
- ImageUtils excel 中 emf 转图片(解决图片上部分显示不全问题)图片转文字
excel 中ActiveX 工具 中的textbox ,以及公式 解析后为emf 图片, emf 转图片(解决图片上部分显示不全问题) 图片转文字 /*********************** ...
- ISCTF 2022
Re SigninReverse ida 64 位 打开程序,即可获得flag ISCTF{27413241-9eab-41e2-aca1-88fe8b525956} ezbase # coding= ...
- 正则表达式(cases)
匹配不含'aaa'和'bbb'的字符串: ^(?!.*aaa)(?!.*bbb).*$ To be continue...