是否加@service的区别

加@service

可以使用@Autowired以自动实例化repository的interface,也就是不用给service传参数就能访问service。不能存在其他全局变量。

https://github.com/brunocleite/spring-boot-exception-handling/blob/master/src/main/java/com/example/springbootexceptionhandling/bird/BirdService.java

不加@service

要使用repository的interface要传参数进来。可存在其他全局变量。

public class LoginService {
    private SchoolRepository schoolRepository;
    private CrawlerRepository crawlerRepository;
    private String username;   //可存在其他全局变量
    private String password;   //可存在其他全局变量
    private int id;   //可存在其他全局变量

    public LoginService(SchoolRepository schoolRepository, CrawlerRepository crawlerRepository) {
        this.schoolRepository = schoolRepository;
        this.crawlerRepository = crawlerRepository;
    }

    private boolean isSchoolOpened(){
        schoolRepository.findOpenedById();
    }
}

最后更新于

这有帮助吗?