![cover](https://img-blog.csdnimg.cn/img_convert/1f20816e15694cf3b56262c1f87e2a14.png)
spring中的@mapper(componentModel = “spring“)
其中可以发现这个类被定义成一个interfece,并且没有实现类。在其他地方自动注入TodoItemMapper时只会出现红线提示,但是编译会通过,这让我有点不解。问完mentor才知道,是@mapper(componentModel = “spring”)起了作用。该标签可以动态的完成DTO-DO之间的转换,这样程序员就可以免去写DO,VO,DTO各类之间转换关系的代码了。
·
spring中的@mapper(componentModel = “spring“)
spring中的@mapper(componentModel = “spring”)
-
@mapper(componentModel = “spring”)
-
@Mapper(componentModel = "spring") public interface TodoItemMapper { TodoItemVO toTodoItemVO(TodoItemDO todoItemDO); List<TTodoItem> toTodoItems(List<TodoItemDO> todoItemDOS); TodoItemDO toTodoItemDO(TodoItemVO todoItemVO); List<TodoItemVO> toTodoItemVOS(List<TodoItemDO> todoItemDOS); }
-
其中可以发现这个类被定义成一个interfece,并且没有实现类。在其他地方自动注入TodoItemMapper时只会出现红线提示,但是编译会通过,这让我有点不解。问完mentor才知道,是@mapper(componentModel = “spring”)起了作用。
-
该标签可以动态的完成DTO-DO之间的转换,这样程序员就可以免去写DO,VO,DTO各类之间转换关系的代码了。
-
编译之后,会在target包中生成对应的实现类:
-
@Component public class TodoItemMapperImpl implements TodoItemMapper { public TodoItemMapperImpl() { } public TodoItemVO toTodoItemVO(TodoItemDO todoItemDO) { if (todoItemDO == null) { return null; } else { TodoItemVO todoItemVO = new TodoItemVO(); todoItemVO.setId(todoItemDO.getId()); todoItemVO.setUserId(todoItemDO.getUserId()); todoItemVO.setContent(todoItemDO.getContent()); todoItemVO.setStatus(todoItemDO.getStatus()); todoItemVO.setTopicId(todoItemDO.getTopicId()); return todoItemVO; } } public List<TTodoItem> toTodoItems(List<TodoItemDO> todoItemDOS) { if (todoItemDOS == null) { return null; } else { List<TTodoItem> list = new ArrayList(todoItemDOS.size()); Iterator var3 = todoItemDOS.iterator(); while(var3.hasNext()) { TodoItemDO todoItemDO = (TodoItemDO)var3.next(); list.add(this.todoItemDOToTTodoItem(todoItemDO)); } return list; } } public TodoItemDO toTodoItemDO(TodoItemVO todoItemVO) { if (todoItemVO == null) { return null; } else { TodoItemDO todoItemDO = new TodoItemDO(); todoItemDO.setId(todoItemVO.getId()); todoItemDO.setUserId(todoItemVO.getUserId()); todoItemDO.setContent(todoItemVO.getContent()); todoItemDO.setStatus(todoItemVO.getStatus()); todoItemDO.setTopicId(todoItemVO.getTopicId()); return todoItemDO; } } public List<TodoItemVO> toTodoItemVOS(List<TodoItemDO> todoItemDOS) { if (todoItemDOS == null) { return null; } else { List<TodoItemVO> list = new ArrayList(todoItemDOS.size()); Iterator var3 = todoItemDOS.iterator(); while(var3.hasNext()) { TodoItemDO todoItemDO = (TodoItemDO)var3.next(); list.add(this.toTodoItemVO(todoItemDO)); } return list; } } protected TTodoItem todoItemDOToTTodoItem(TodoItemDO todoItemDO) { if (todoItemDO == null) { return null; } else { TTodoItem tTodoItem = new TTodoItem(); tTodoItem.setId(todoItemDO.getId()); tTodoItem.setUserId(todoItemDO.getUserId()); tTodoItem.setContent(todoItemDO.getContent()); tTodoItem.setStatus(todoItemDO.getStatus()); tTodoItem.setCreatedTime(todoItemDO.getCreatedTime()); tTodoItem.setUpdatedTime(todoItemDO.getUpdatedTime()); tTodoItem.setTopicId(todoItemDO.getTopicId()); return tTodoItem; } } }
更多推荐
所有评论(0)