【发布时间】:2019-07-15 14:39:49
【问题描述】:
我有两个服务,我想在一个控制器中使用它们。我使用了@Autowired注解和@Qualifier-s,但是有些东西不起作用,可能是因为没有Contructor。
控制器:
@Controller
public class Main{
@Autowired
@Qualifier("postServiceImpl")
private PostService postService;
@Autowired
@Qualifier("userServiceImpl")
private UserService userService;
@ModelAttribute("post")
public PostDTO userRegistrationDto() {
return new PostDTO();
}
@GetMapping("/")
public String root(Model model) {
model.addAttribute("list", postService.listAllPosts());
return "index";}
@GetMapping("/adminPage")
public String admin(Model model){
???
model.addAttribute("posts", postService.listAllPosts());
model.addAttribute("users", userService.listAllUsers());
return "admin";}
}
服务 1:
@Service
public class PostServiceImpl implements PostService {
@Autowired
private PostRepository postRepository;
public PostServiceImpl(PostRepository postRepository){
this.postRepository = postRepository;
}
public PostServiceImpl(){}
}
服务 2:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Autowired
private BCryptPasswordEncoder passwordEncoder;
}
这是在一个模型中添加两个服务属性的正确方法吗?
model.addAttribute("posts", postService.listAllPosts());
model.addAttribute("users", userService.listAllUsers());
【问题讨论】:
-
实际的错误信息是什么?
标签: java spring spring-boot model-view-controller thymeleaf