我正在查看工作区中的一些旧示例。我看不出是怎么回事 完成自动装配,因为没有 @Autowired 。 Spring boot + facebook默认配置。
@Controller
@RequestMapping("/")
public class HelloController {
private Facebook facebook;
private ConnectionRepository connectionRepository;
public HelloController(Facebook facebook, ConnectionRepository connectionRepository) {
this.facebook = facebook;
this.connectionRepository = connectionRepository;
}
@GetMapping
public String helloFacebook(Model model) {
System.out.println("we are here!!!");
if (connectionRepository.findPrimaryConnection(Facebook.class) == null) {
return "redirect:/connect/facebook";
}
PagedList<Post> feed = facebook.feedOperations().getFeed();
model.addAttribute("feed", feed);
return "hello";
}
}
它是完美的,但这些bean如何在没有@Autowired的情况下自动装配? 它们是作为字段还是在构造函数中自动装配?
答案 0 :(得分:7)
使用spring boot 1.4+构造函数会自动自动装配
答案 1 :(得分:0)
在此控制器中,您没有给任何@Autowired注释,并且可能是您在控制器中具有接口,因此您无需提供注释,还可以检查服务层@Service注释是否存在没有提供@Service,您也将无法使用@Autowired。