Spring @Configuration и @Component одно и тоже? Или нет?

Поділитися
Вставка
  • Опубліковано 10 лют 2025
  • 0 - 11:45 - @Configuration, различие @Component и @Configuration
    11:45 - @ComponentScan

КОМЕНТАРІ • 12

  • @ЛюбовьХохлова-я1в
    @ЛюбовьХохлова-я1в 3 роки тому +1

    Спасибо! Нигде не видела разбор @Component vs @Configuration так понятно 🙏

    • @deadlocksofdeadblocks7225
      @deadlocksofdeadblocks7225  3 роки тому

      Я тоже в тот момент нигде не видел) Подумал, что будет интересно)

  • @isko_vlog6836
    @isko_vlog6836 3 роки тому

    спасибо

  • @dmitrylanin7812
    @dmitrylanin7812 4 роки тому +3

    Очень хороший и простой материал. Небольшое пожелание чего не хватило - просто уточнения, а когда @Component используется?

    • @deadlocksofdeadblocks7225
      @deadlocksofdeadblocks7225  4 роки тому +3

      Спасибо! Мы используем компонент, когда нам нужно создать бин из обычного класса и внутри нет методов помеченных аннотацией @Bean) Например, если привести простой пример, есть класс кошка и нам нужно создать конкретную кошку - помечаем ее аннотацией компонент ) Конфигурэйшн же используем когда внутри есть методы помеченные аннотацией @Bean (возвращающие бины) , например когда мы конфигурируем базу данных, то класс, ответственный за конфигурацию помечаем @Configuration и внутри будем возвращать различные бины, которые ответственны за настройку (конфигурацию) базы данных. Надеюсь, что ответил на ваш вопрос)

  • @ЕвгенийСавинов-з5р
    @ЕвгенийСавинов-з5р 5 років тому

    Привет! Классные видео делаешь, у меня вопрос. Вопрос о том что у меня к примеру смешанные конфигурации, часть бинов описана в @configuration классе, а часть как @component. И в классах которые помечены @component есть зависимости от бинов в классе @configuration. Как я могу @bean компонент за @autowired в класс который помечен @component? Жду ответа и если есть твои контакты, было бы супер если бы написал

    • @deadlocksofdeadblocks7225
      @deadlocksofdeadblocks7225  5 років тому

      Привет! спасибо) Если я верно понял твой вопрос - ты хочешь внедрить @Bean в @Component - можно сделать так:
      @Component
      public class Comp {
      private File file;
      @Autowired
      public Comp(File file) {
      this.file = file;
      }
      public File getFile() {
      return file;
      }
      }
      File - это @Bean из видео)
      Мои контакты: vk.com/id1854811

    • @ЕвгенийСавинов-з5р
      @ЕвгенийСавинов-з5р 5 років тому

      Я правильно понимаю, что configuration с @bean это аналог xml конфигурации?

    • @deadlocksofdeadblocks7225
      @deadlocksofdeadblocks7225  5 років тому

      @@ЕвгенийСавинов-з5р Да, все верно)

    • @ЕвгенийСавинов-з5р
      @ЕвгенийСавинов-з5р 5 років тому

      А такой вопрос, если у меня КЛАСС не является бином, но внутрь него я хочу за автоварить бин. Я должен этот КЛАСС, вписать в applicationContext чтоб когда он поднимал контекст, внутри него он нашёл @Autowired и соответственно смог внедрить компонент в КЛАСС который не является бином?

    • @deadlocksofdeadblocks7225
      @deadlocksofdeadblocks7225  5 років тому

      @@ЕвгенийСавинов-з5р Так нельзя) В контейнер нужно помещать именно бины) Этот класс должен быть именно компонентом, а не обычным классом)

  • @starlord0208
    @starlord0208 3 роки тому

    Спасибо