Я все еще не мог понять, почему я получаю NPE на
foo.setName("FOOD")
Вот код, который я пытаюсь запустить, и сталкиваюсь с проблемой.
@SpringBootApplication
public class Application {
@Autowired
private static Foo foo;
public static void main(String[] args) throws Throwable {
SpringApplication.run(Application.class, args);
foo.setName("FOOD");
}
}
@Component
class Foo {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Оба Foo and Application
классы находятся в одной упаковке.Единственный способ заставить его работать, это применить конфигурацию Java.Поэтому вместо
@Autowired
private static Foo foo;
я создал экземпляр, используя
@Bean
private static Foo getFoo(){
return new Foo();
}
Я попытался добавить @Componentscan в класс конфигурации, но не сработал.Любая идея?Спасибо!