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的更多相关文章

  1. springboot注解使用说明

    springboot注解 @RestController和@RequestMapping注解 我们的Example类上使用的第一个注解是 @RestController .这被称为一个构造型(ster ...

  2. springBoot系列-->springBoot注解大全

    一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...

  3. SpringBoot注解大全(转)

    原文链接:[springBoot系列]--springBoot注解大全 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Co ...

  4. springboot注解大全

    springboot注解:@Service: 注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表示这是一个数据 ...

  5. SpringBoot注解验证参数

    SpringBoot注解验证参数 废话不多说,直接上表格说明: 注解 作用类型 解释 @NotNull 任何类型 属性不能为null @NotEmpty 集合 集合不能为null,且size大于0 @ ...

  6. SpringBoot注解把配置文件自动映射到属性和实体类实战

    SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1.配置文件加载 方式一 1.Controller上面配置 @Propert ...

  7. 转-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 ...

  8. 【转载】springboot注解

    https://blog.csdn.net/yitian_66/article/details/80866571 springboot注解:@Service: 注解在类上,表示这是一个业务层bean@ ...

  9. SPRINGBOOT注解最全详解(

    #     SPRINGBOOT注解最全详解(整合超详细版本)          使用注解的优势:               1.采用纯java代码,不在需要配置繁杂的xml文件           ...

  10. springboot + 注解 + 拦截器 + JWT 实现角色权限控制

    1.关于JWT,参考: (1)10分钟了解JSON Web令牌(JWT) (2)认识JWT (3)基于jwt的token验证 2.JWT的JAVA实现 Java中对JWT的支持可以考虑使用JJWT开源 ...

随机推荐

  1. vim用法思维导图

  2. Hadoop服务启动失败

    Hadoop服务启动失败今天启动Hadoop时,终端报了一个新的错误 ```bashStarting namenodes on [192.168.19.128]192.168.19.128: ssh: ...

  3. C#处理JSON类型数据序列化和反序列化的一点心得体会

    在处理JSON类型的数据时,定义了很多JSON类型.经常需要用到序列化和反序列化.刚开始接触到这个问题时,我给每个JSON类型都增加了类似下方的代码. using System; using Syst ...

  4. 记我的第一个UVM项目

    没有天天写博客的习惯,后果就是老是忘记自己的排版风格.为了追求统一还要翻一下之前是怎么写的.这也算是意料之外的发现吧. 说实话,没人教的话从零开始学一个新的东西实在是太难了.即使互联网的存在已经大幅降 ...

  5. Ubuntu NVIDIA显卡驱动+CUDA安装(多版本共存)

    NVIDIA显卡驱动 1.禁止集成的nouveau驱动 solution 1 (recommand) # 直接移除这个驱动(备份出来) mv /lib/modules/3.0.0-12-generic ...

  6. LeetCode86 分隔链表

    idea: 烦死了,这个题一直因为创立的指针为空,或者接入结点方法不对,结果将两个小链表搞混乱了,不过具体思路ok.将小值结点成一组,大值结点成一组,最后在首尾相连,实现起来也比较简单 /**  *  ...

  7. DB2生成UUID, CONCAT (HEX (RAND ()), HEX (RAND ())) 排坑

    DB2中没有提供生成UUID的方法,一般我们常用的是CONCAT (HEX (RAND ()), HEX (RAND ())) 来生成UUID,但是大量生成的时候会产生重复数据,导致我们的唯一索引报错 ...

  8. conda使用杂记

    总纲 https://docs.anaconda.com/anaconda/navigator/ 其中有链接 miniconda https://docs.anaconda.com/anaconda/ ...

  9. Django+bootstrap+layui集成

    一.django项目搭建:1.Python安装2.下载Django解压到Python安装目录G:\python3.7.4\3.cmd G:\python3.7.4\Django-4.0.5 执行 py ...

  10. SpringBoot笔记--配置->profile的配置

    profile--动态配置切换 profile配置方式: 使用spring.profile.active=进行激活.properties文件 直接使用一个.yml文件代替多文件配置 使用---分隔符分 ...