@Component и @Bean и @ Autowired, @ ресурсы

1. Существует такая история, начните с файлом конфигурации XML боб

  Файл конфигурации Spring XML со временем (не знаю, прочитав эту статью, вы не использовали, я провел некоторое время, это было темные воспоминания о боли QQQ), файл конфигурации XML существует ряд боба. Как это:

<bean id="helloWorld" class="com.test.spring.beans.HelloWorld"> <property name="name" value="Spring"></property> </bean> 

  Каждый боб соответствует классу, может быть контроллер, может быть служба, вероятно, дао, конфигурационный файл XML, который говорит Spring, я здесь, что бобы, они называют то, что имя (например, HelloWorld), в котором их файл класса (com.test.spring.beans.HelloWorld), какие атрибуты у них есть. Таким образом, когда проект стартовал, весна вернулась к управлению этих классов.

2. Go @Configuration эпохи

  Теперь вы используете @Service, @Repository, @Componentсказать весной эти аннотации в классе Java: «Я прошу вас , чтобы отметить эти классы для управления.» До этого боб написать конфигурационный файл XML в выше, есть класс написать компонент (это слишком много хлопот ..... неудобно код код не удобно читать, удобно модификации), конфигурация XML файл писать много фасоли.
Подводя итог:

  • @ConfigurationПримечания файл конфигурации XML-эквивалент, который говорит мне, что есть много весна фасоль, чтобы дать вам управление
  • @BeanПримечания эквивалентный файл конфигурации XML внутри боба, Spring сказал аннотированные классы по вам управлять ,
    чтобы быть здесь, в истории файла конфигурации XML Spring заменить заметки история закончена, это не очень просто!

========= сто тысяч почему разделительной линии =============== ,
что, поскольку проблемы будут решены, Там @Component какое дело? ? ?
Молодые люди, иногда наивный

3. @Component на сцене

  Неизвестный мастер сказал ранее, ленивый является источником человеческого творчества. Я всегда беру класс написать свой класс, но и написать @Configurationкомментарий класса сказать Spring ( за исключением уведомления Spring, этот класс не имеет другое значение), хотя этот класс по сравнению с файлом конфигурации XML , чтобы написать хорошо и легко читать, но на этот раз есть всегда, однако, не сразу сказать мне , почему весна это? ? ?
  @Controller, @Service, @RepositoryЕсть @Componentболее конкретная реализация (если здесь не так, ища Бандитский свет спрей). Закончено класс плюс эти записи, на самом деле, добавлять @Componentаннотации, весна будет понять, Aoao, ваш ребенок слишком ленив, так как все мне удалось, но потом снова вы делаете меня баба тоже!
  Это не уйти с ним, да, но на самом деле не уйти.

4. «но» возвращается

  Да, но здесь есть. Некоторые люди могут подумать, так как @Componentс Spring've решить эту проблему, то @Beanэто замечание , почему не уйти ах, дети стояли еще здесь, почему бы не увидеть новый Spring добавить @Deprecated? ? ?
  Молодые люди имеют представление о том! ! !
  Если предположить , что такую ситуацию, есть несколько классов, я не не писать, но нет времени , чтобы написать в выходные прогулку Бунд, в это время, я нашел старый железный alimama , который написал тот же функцию класса Я импортировать его будет закончена в мавена, счастливые три секунды, и еще одна проблема, когда они пишут бесполезный Spring:

  • 1) лежал пакет банки, я не могу добавить класс выше @Componentкомментарий;
  • 2) Я не исходный код, они не могут копироваться код, притворитесь переписать его снова QQQ

На этот раз @Beanдействие проявляется, см:

@Configuration
public class MyClass { // class1和class2就是jar包里写好的 @Bean public Class1 getClass1() { return new Class1(); } @Bean public Class2 getClass1() { return new Class2(); } ..... } 

  В то время как вернуться к @Component出场предыдущей @Configurationэпохе. Но вам не нужно часто использовать это право

4. Давайте немного сухой конец сегодняшней истории

  Весна управляемого Bean нам нужно @Autowiredили @Resourceимпорта использовать, разница между тем, что два из вас может пойти искать его, просто чтобы сказать проблемы. @AutowiredВ соответствии с типом узла, @Resourceв соответствии с именем узла, добавив один и тот же тип больше , чем фасоли, но не то же самое название, @Autowiredнепосредственно в ошибку. К этому времени объект @Resource(name="name")или @Autowired@Qualifier("name")быть собран по имени, чтобы решить эту проблему.

 

рекомендация

отwww.cnblogs.com/yaphetsfang/p/11284916.html