Основные проблемы в этой статье используются для реализации сборки атрибутов с использованием аннотации @Resource, которая включает в себя инъекцию зависимости - ручная сборка, разница между аннотациями @Autowired и @Resource и т. Д.
Используйте инъекцию поля (для метода аннотации): инъекционные зависимые объекты могут быть собраны вручную или собираются вручную автоматически. Ручная сборка рекомендуется в практических приложениях, потому что автоматическая сборка вызовет неизвестные ситуации, и разработчики не могут предвидеть результат окончательного сборки.
Инъекция зависимости - ручная сборка
Существует два метода программирования для вручную сборки зависимых объектов.
1. В файле конфигурации XML настраивайте его через узел бобов, например:
<bean id = "orderservice"> // Инъекция конструктора <constructor-arg index = "0" type = "java.lang.string" value = "xxx"/> // Инъекция метода свойств <name = "name" value = "Zhao"/> </bean>
2. Используйте аннотацию @autowired или @Resource, чтобы собрать в коде Java. Но нам нужно настроить информацию в файле конфигурации XML
<Beans xmlns = "http://www.springframework.org/schema/beans" xmlns = "http://www.w3.org/2001/xmlschema-instance" xmlns: context = "http://www.springframe.orgema. Xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5xsd"> </schema/context/spring-fontext-2.5xsdexd ">
Эта конфигурация неявно регистрирует несколько процессоров, которые разрабатывают комментирующие:
Autowailired AnnotationBeanpostProcessor, CommonannotationBeanpostProcessor
PersistenceannotationBeanProcessor, обязательно обозначал beanpostprocessor
3. разница
Используйте аннотацию @autowired или @resource, чтобы собрать в коде Java. Разница между этими двумя аннотациями заключается в том, что @Autowired собирается по типу по умолчанию @Resource собирается по имени по умолчанию. Только когда боб, соответствующий имени, не может быть найдено, он будет собран по типу
@Autowiredprivate persondao persondao; // используется в поле @autowiredpublic void setorderdao (orderdao orderdao) {this.orderdao = orderdao; // используется в методе сеттера свойства}Аннотация @autowired состоит в том, чтобы собирать зависимые объекты по типу. По умолчанию требуется, чтобы зависимые объекты должны существовать. Если нулевые значения разрешены, это может быть установлено на false; Если мы хотим собрать с именем, мы можем использовать его в сочетании с аннотацией @qualfier, следующим образом:
@Autowired@Qualifier ("persondao") private persondao persondao;Аннотация @Resource, как и @Autowired, может быть аннотирована на методе сеттера поля или свойства, но по умолчанию она собирается по имени. Имя может быть указано через атрибут имени @Resource; Если атрибут имени не указан, когда аннотация помечена в поле, имя поля по умолчанию используется в качестве имени боба для поиска объекта зависимости; Когда аннотация отмечена в методе установки свойств, имя атрибута используется в качестве имени боба для поиска объекта зависимости
@Resource (name = "persondaobean") private persondao persondao;
Примечание. Если атрибут имени не указан, а объект до сих пор не найден по умолчанию, аннотация @Resource возвращается к сборке по типу. Но как только атрибут имени указан, его можно собрать только по имени.
Суммировать
Выше приведено подробное объяснение реализации кода сборки атрибутов через аннотацию @Resource. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
« Подробное объяснение метода и кодекса пружинного матча »
" Метод заводского метода Spring и пример статического метода фабрики "
« Spring использует код для прочтения анализа экземпляров файла .
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!