没有注释的自动装配@Autowired

时间:2017-04-12 07:32:30

标签: java spring autowired

我正在查看工作区中的一些旧示例。我看不出是怎么回事 完成自动装配,因为没有 @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的情况下自动装配? 它们是作为字段还是在构造函数中自动装配?

2 个答案:

答案 0 :(得分:7)

答案 1 :(得分:0)

在此控制器中,您没有给任何@Autowired注释,并且可能是您在控制器中具有接口,因此您无需提供注释,还可以检查服务层@Service注释是否存在没有提供@Service,您也将无法使用@Autowired。