【发布时间】:2019-05-28 11:04:03
【问题描述】:
如何将@RequestBody 对象(值对象)注入 Spring Service 层?
我想注入(Autowired)来自请求正文值的对象。
HelloController
@Autowired
UserService userService;
(….)
@GetMapping("/hello")
public String hello(
@RequestBody UserRequestBodyDto userDto,
HttpServletResponse response){
return null;
}
UserRequestBodyDto
@Data
public class UserRequestBodyDto{
private String name;
private String address;
}
UserServiceImpl
@Service
public class UserServiceImpl implements UserService{
@AutoWired
public UserServiceImpl(UserRequestBodyDto userDto){
(….)
}
}
在这种情况下,如何将 UserRequestBodyDto 对象注入服务层?
向 UserService 添加 'setUserDto' 方法是最好的方法吗? 或者如果 将 dto 转换为实体是注入对象的最佳方式, 如何在 dto 类和实体类之间管理许多相同的类?
+a) 在我看来,RequestScopedBean 是不好的方式。
【问题讨论】:
标签: java spring spring-boot dependency-injection