springboot项目中的小知识点
1 lombok 下的@Builder注解
提供Builder方法,它提供在设计数据实体时,对外保持private setter,而对属性的赋值采用Builder的方式,这种方式最优雅,也更符合封装的原则,不对外公开属性的写操作!
首先在实体类上面加上@Builder注解
之后在赋值的时候使用类似建造者模式的方式进行赋值
RecommendRequest param = RecommendRequest.builder()
.userId(userId)
.examType(examType)
.subjectType(subjectType)
.num(num)
.build();
2 spring @Qualifier注解
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存在UserDao类型的bean,也会抛出BeanCreationException异常。我们可以使用@Qualifier配合@Autowired来解决这些问题。
@Autowired
@Qualifier("simple")
private AbstractRecommendTemplate recommendTemplate;
@Autowired
@Qualifier("advanced")
private AbstractRecommendTemplate recommendTemplate2;