Size: a a a

2020 March 10

d

dima in learn.java
★Demetrio★Hołownia-Ostrożecki★
@SpringBootApplication
public class SpringApplicationMain {
   public static void main(String[] args) {
       SpringApplication.run(SpringApplicationMain.class, args);
       Test test = new Test();
       test.addUser();
   }
}
если ты хочешь на старте приложения что-то сделать, есть специальный бин
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
dima
если ты хочешь на старте приложения что-то сделать, есть специальный бин
понял
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Когда ты просто создаёшь объект класса Test, каким образом, по-твоему, Спринг должен проинициализировать @Autowired-зависимости?)) Спринг, конечно, во многом магический фреймворк, но не настолько 😀
заработало, спасибо
источник

d

dima in learn.java
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
спасибо
источник

d

dima in learn.java
@SpringBootApplication
public class Application {

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

   @Bean
   public CommandLineRunner insertUserData(UserRepository userRepository) {
       return (args) -> {
           User user = new User("user", "user", Role.USER);
           User admin = new User("admin", "admin", Role.ADMIN);

           userRepository.save(user);
           userRepository.save(admin);
       };
   }
}
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
самое удивительно что сейчас все работает, но  @Autowired все равно подсвечивает как ошибку - Field injection is not recommended
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
самое удивительно что сейчас все работает, но  @Autowired все равно подсвечивает как ошибку - Field injection is not recommended
Это не ошибка, а предупреждение. Рекомендуется использовать инъекцию зависимостей через конструктор, а не через @Autowired на поле
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Это не ошибка, а предупреждение. Рекомендуется использовать инъекцию зависимостей через конструктор, а не через @Autowired на поле
как я интерфейсу сделаю конструктор?)
источник

ch

central hardware in learn.java
Kehlani
Это не ошибка, а предупреждение. Рекомендуется использовать инъекцию зависимостей через конструктор, а не через @Autowired на поле
А чем лучше через конструктор?
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
как я интерфейсу сделаю конструктор?)
Не в интерфейсе надо, а в классе, куда ты объект этого интерфейса инджектишь
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Не в интерфейсе надо, а в классе, куда ты объект этого интерфейса инджектишь
public Test(UserRepo userRepo) {
       this.userRepo = userRepo;
   }
?
источник

K

Kehlani in learn.java
central hardware
А чем лучше через конструктор?
Если честно, хз. Ну наверно это быстрее (скорее всего для @Autowired-полей используется рефлексия, а она наверно медленнее, чем обычный конструктор) и юнит-тесты проводить проще (с @InjectMocks уже не так актуально). Да и я просто не люблю, когда у меня IDE на что-то ругается 😀
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
public Test(UserRepo userRepo) {
       this.userRepo = userRepo;
   }
?
Всё верно))
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Всё верно))
не пропало предупреждение))
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
не пропало предупреждение))
Убери @Autowired с поля
источник

K

Kehlani in learn.java
Kehlani
Убери @Autowired с поля
Раньше вроде ещё нужно было ставить @Autowired на конструктор, но сейчас можно и без этого
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Убери @Autowired с поля
понял, как все сложно с этим спрингом
источник

DS

Dmitriy Shilnikov in learn.java
★Demetrio★Hołownia-Ostrożecki★
понял, как все сложно с этим спрингом
До сложного ты ещё не добрался )
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Dmitriy Shilnikov
До сложного ты ещё не добрался )
чет мне плохо
источник