У меня есть Spring bean
@Component
public class CustomUriBuilder {
private final String cUrl;
private final String redirectUri;
private final String clientId;
public CustomUriBuilder (@Value("${project.url}") String cUrl,
@Value("${project.redirect.url}") String redirectUri, @Value("${project.client-id}") String clientId) {
this.cUrl= cUrl;
this.redirectUri = redirectUri;
this.clientId = clientId;
}
//No default constructor
}
Мне нужно внедрить этот bean в другой bean
@Component
public class LinksBuilder {
@Autowired
private final CustomUriBuilder customUriBuilder ;
//No constructors
}
Но я получил ошибку компиляции
Ошибка:(21, 34) java: переменная customUriBuilder не инициализирована в конструкторе по умолчанию
В то же время я без проблем вставляю LinksBuilder
(как окончательный вариант) в другой контроллер
@RestController
@RequestMapping(produces = "application/json")
public class resourceV4 {
private final LinksBuilder linksBuilder;
//No constructors
.
}
Почему в первом случае выдает ошибку, а во втором - работает нормально?