1. 程式人生 > >利用Lombok編寫優雅的spring依賴注入程式碼,去掉繁人的@Autowired

利用Lombok編寫優雅的spring依賴注入程式碼,去掉繁人的@Autowired

大家平時使用spring依賴注入,都是怎麼寫的?

@Service public class OrderService { @Autowired private UserService userService;

} 是不是很熟悉的感覺?但是呢 如果你用IDEA的話呢,它會提示你

Field injection is not recommended

下面就是spring推薦的寫法:

@Service public class OrderService { private final UserService userService;

@Autowired
public OrderService(UserService userService) {
    this.userService = userService;
}

}

若是注入的類太多的話呢,看起來挺繁瑣的。最近偶然在網上發現使用Lombok可以寫出簡潔的程式碼:

@Service @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class OrderService { //這裡必須是final,若不使用final,用@NotNull註解也是可以的 private final UserService userService;

}