Репозиторий не создается с помощью @Autowired - PullRequest
0 голосов
/ 06 мая 2018

У меня есть исключение нулевого указателя для репозитория JPA, я думал, что репозитории не нужно создавать, когда они имеют @Autowired.

@Component
public class UserService {

    @Autowired
    UserRepository repository;

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    public void createUser(User user) {
        System.out.println("user email = " + user.getEmail());
        repository.save(user);
    }
...

Применение

@ComponentScan({"mypackage", "mypackage.service"})
@SpringBootApplication
public class Application implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
    }
}

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Этот класс UserService должен использоваться аннотация (@Service / @AppService) вместо @ Component.

0 голосов
/ 06 мая 2018

@ autowired используется для внедрения bean-компонентов, предварительно созданных контейнером Spring на основе файла applicationcontext.xml, поэтому убедитесь, что вы добавили соответствующий bean-компонент в этот файл. из документа весны

...