SERVICE-SDK
整合一些常用基础类和服务底层类,提升开发效率和规范代码结构
Maven ![Latest release](https://camo.githubusercontent.com/82d21fb069d9a634f7f26de5bd2dca1b94d92f8c94d53b44380e65c4e17fe62d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f6a736f6e2e7376673f636f6c6f723d6c6967687467726579266c6162656c3d6c61746573742671756572793d7461675f6e616d652675726c3d68747470733a2f2f6170692e6769746875622e636f6d2f7265706f732f6c6f6e6768616f74656e672f736572766963652d73646b2f72656c65617365732f6c6174657374)
<dependency>
<groupId>com.github.longhaoteng</groupId>
<artifactId>service-sdk</artifactId>
<version>latest</version>
</dependency>
示例
-
对象序列化
// java bean @Data @ToString @EqualsAndHashCode(callSuper = false) @Entity @Table(name = "test") @NoArgsConstructor @AllArgsConstructor @Builder @Accessors(chain = true) @EntityListeners(AuditingEntityListener.class) public class Test extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String password; @CreatedDate private LocalDateTime createDatetime; @LastModifiedDate private LocalDateTime updateDatetime; @Transactional public Test create() { TestRepository repository = getBean(TestRepository.class); return repository.save(this); } @Transactional public void update(String name, String password) { this.name = name; this.password = password; TestRepository repository = getBean(TestRepository.class); repository.save(this); } @Transactional public void delete() { TestRepository repository = getBean(TestRepository.class); repository.delete(this); } } // 对象操作 在service中数据序列化操作变成了简单的对象操作 test.create(); test.update(name,password); test.delete();
-
对象深度拷贝(这里使用的是dozer),浅拷贝可使用spring的BeanUtils.copyProperties(),效率更高
Test test = repository.findOne(id).orElse(null); TestVO testVo = TestVO.builder().build(); testVo = BeanConverter.map(test, TestVO.class); // 列表同理 BeanConverter.map(List<S> sourceList, Class<T> targetClass);
加入项目
欢迎添砖加瓦