SpingROOT注解

@TableName("CG_WO_FAULT_EXPERT_PAPERS")
实体类加这个注解  controller直接可以去查询表了
@Accessors(chain = true)注解是用来干嘛的?
这个注解是来自与Lombok里的,具体的作用是开启链式编程,让我们写代码更加方便。

. 排查

 经过排查发现是因为 @ApiModel 直接使用不规范导致的.
错误用法: @ApiModel(value = "用户信息")
正确用法: @ApiModel(description = "用户信息")
经过排查发现, swagger2 是需要 value 属性在同一个服务全局中保持唯一的, swagger 会把所有的 API 中的出入参实体列在 swagger 文档的最下方, 如果存在多个实体的 @ApiModel(value = "用户信息") 注解相同, 那么 swagger 只会识别一个, 其他的 实体 会被覆盖, 不会被显示, 其他被覆盖的 实体在 API 被引用的地方在文档中会被识别的相同名称的实体 替代, 导致文档展示错乱问题

4. 解决

使用正确的用法:
@ApiModel(description = "用户信息"), 如果我们能在代码规范中保证实体名称不会重复, value 使用默认就好, 所以不再配置, 实体说明使用 description 来进行配置.
用于id字段上
@ApiModelProperty(value = "主键")
@TableId("ID")
@JsonSerialize(using = ToStringSerializer.class)
@JsonSerialize(using = ToStringSerializer.class)放在实体类的字段上可以把int类型数据转换成String类型,防止int类型数据过长,前端拿到数据变成00000
用于其他字段
@ApiModelProperty(value = "说明")
@TableField("FILE_DESC")
 
 
sql中datetime转换到实体为Date比较大小直接用Date比较
Date parse1 = new SimpleDateFormat("yyyy-MM-dd").parse(dealDateZ);
java.sql.Date date = new java.sql.Date(parse.getTime());
 

@SpringBootApplication是一个复合注解,包含了@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan这三个注解

@SpringBootConfiguration 注解,继承@Configuration注解,主要用于加载配置文件

单元测试注解

@RunWith(SpringRunner.class)
@SpringBootTest(classes = BootdoApplication.class)
在方法上加@Test注解

 

@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。

注意:@Configuration注解的配置类有如下要求:

  1. @Configuration不可以是final类型;
  2. @Configuration不可以是匿名类;
  3. 嵌套的configuration必须是静态类。

一、用@Configuration加载spring
1.1、@Configuration配置spring并启动spring容器
1.2、@Configuration启动容器+@Bean注册Bean
1.3、@Configuration启动容器+@Component注册Bean
1.4、使用 AnnotationConfigApplicationContext 注册 AppContext 类的两种方法
1.5、配置Web应用程序(web.xml中配置AnnotationConfigApplicationContext)

二、组合多个配置类
2.1、在@configuration中引入spring的xml配置文件
2.2、在@configuration中引入其它注解配置
2.3、@configuration嵌套(嵌套的Configuration必须是静态类)
三、@EnableXXX注解
四、@Profile逻辑组配置
五、使用外部变量

 

@ConfigurationProperties

在 SpringBoot 中,当想需要获取到配置文件数据时,除了可以用 Spring 自带的 @Value 注解外,SpringBoot 还提供了一种更加方便的方式:@ConfigurationProperties。只要在 Bean 上添加上了这个注解,指定好配置文件的前缀,那么对应的配置文件数据就会自动填充到 Bean 中。

@Primary 在实现类方法上加上会识别一个数据源不会报错
JPA是一个规范,它能把Java对象映射到任何一个关系型数据库中,无需关心数据库细节。

报了NoUniqueBeanDefinitionException异常,说是希望单个Bean的匹配,却找到了多个。此时要使用@Resource

 

 

 

 

posted @ 2023-04-17 09:25  LoneLy_JU  阅读(44)  评论(0)    收藏  举报