В настоящее время бин, который я хотел бы автоматически передать, возвращает nullpointerException.
Вот класс приложения:
package com.springbootapp.jerseyws;
.
.
.
@SpringBootApplication
public class JerseywsApplication {
@Bean
public CountryService countryService() {
return new CountryService();
}
public static void main(String[] args) {
SpringApplication.run(JerseywsApplication.class, args);
}
}
Вот контроллер:
package com.springbootapp.jerseyws.controller;
.
.
.
@Path("/country")
public class CountryController {
@Autowired
private CountryService countryService;
public CountryController() {
//countryService = new CountryService();
}
@Path("list")
@GET
@Produces({MediaType.APPLICATION_JSON})
public List<Country> getCountries() {
return countryService.getCountries(); // <------ countryService is null
}
}
А вот и служба страны:
package com.springbootapp.jerseyws.service;
.
.
.
@Service
public class CountryService {
public List<Country> getCountries() {
Country c1 = new Country("USA", 320);
Country c2 = new Country("Norway", 6);
Country c3 = new Country("Sweden", 10);
List<Country> countryList = new ArrayList<>();
countryList.add(c1);
countryList.add(c2);
countryList.add(c3);
return countryList;
}
}
Этот пример основан на аннотациях.Чего-то не хватает, потому что компонент, который я пытаюсь создать в аннотации @Autowired
, имеет значение null.