Spring 注解
本文最后更新于:2024年9月8日 晚上
Spring 注解
@DateTimeFormat
- 规定接收的时间格式,格式化前端传递给后端的日期数据(非JSON)
注解在实体类的属性上
- 用于接口接收的对象中包括Date类型的属性。
1 |
|
注解在接口参数中
- 用于直接接收Date对象。
1 |
|
注意:Spring转Json的默认实现Jackson中会根据时区去转换时间,而Jackson的默认时区与国内相差8小时,所以需要修改Jackson的默认时区。
- 解决方案:在
application.properties
配置文件增加以下配置。
1 |
|
@Conditional
- 自动配置类必须在一定的条件下才能生效,需要用到@Conditional派生注解进行限制。
- 作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置类里面的所有内容才生效。
注解 | 作用 |
---|---|
@ConditionalOnBean | 当上下文中有指定Bean的条件下进行实例化 |
@ConditionalOnMissingBean | 当上下文没有指定Bean的条件下进行实例化 |
@ConditionalOnClass | 当classpath类路径下有指定类的条件下进行实例化 |
@ConditionalOnMissingClass | 当类路径下没有指定类的条件下进行实例化 |
@ConditionalOnWebApplication | 当项目本身是一个Web项目时进行实例化 |
@ConditionalOnNotWebApplication | 当项目本身不是一个Web项目时进行实例化 |
@ConditionalOnProperty | 当指定的属性有指定的值时进行实例化 |
@ConditionalOnExpression | 基于SpEL表达式的条件判断 |
@ConditionalOnJava | 当JVM版本为指定的版本范围时进行实例化 |
@ConditionalOnResource | 当类路径下有指定的资源时进行实例化 |
@ConditionalOnJndi | 在JNDI存在时触发实例化 |
@ConditionalOnSingleCandidate | 当指定的Bean在容器中只有一个,或者有多个但是指定了首选的Bean时触发实例化 |
- 可以通过启用 debug=true属性,来让控制台打印自动配置报告,这样我们就可以很方便的知道哪些自动配置类生效。
1 |
|
Positive matches
:自动配置类启用的(正匹配)Negative matches
:没有启动,没有匹配成功的自动配置类(负匹配)Unconditional classes
:没有条件的类。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!