Значение аннотации @Resource - PullRequest
0 голосов
/ 19 мая 2018

Я не могу понять значение аннотации @Resource.Я смотрел на онлайн-ресурсы, но они, кажется, объясняют то же самое способом, который трудно понять.Может кто-нибудь объяснить, если возможно, значение @Resource в упрощенной форме?

Спасибо!

Ответы [ 2 ]

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

Прежде всего, чтобы понять смысл @Resource, вам необходимо понять инверсию контроля (IoC) .

инверсию управления - этопринцип в разработке программного обеспечения, который заключается в том, что управление объектами должно быть передано в контейнер или структуру.

Внедрение зависимостей (DI) - это схема реализации IoC, где инвертируемый элемент управления является настройкой зависимостей объекта.Композиция объектов с другими объектами (инъекция) выполняется контейнером, а не самими объектами.

Используя структуру DI (например, Spring IoC или EJB), вы создаете свои POJO иконфигурирование фреймворка (POJO настроен так называемым Bean)

enter image description here

Пока все хорошо.Что дальше?Пришло время использовать наши бобы .

@Resource - это аннотации, которые помогут извлечь бобов из контейнера.

Существует несколькопараметры поиска для извлечения бобов:

  • Совпадение по имени
  • Совпадение по типу
  • Совпадение по классификатору

Использование @Resource безлюбые параметры будут вызывать совпадение по типу тип поиска.

Существует пример использования или @Resource с внедрением поля и Spring Framework с конфигурацией на основе Java и совпадение по имени:

@Configuration
public class ApplicationContext {

    // Put the bean into the spring container
    @Bean(name = "userFile")
    public File userFile() {
        File file = new File("user.txt");
        return file;
    }
}

@Service
class UserService {

    // Ask the container to 'put' the bean here
    @Resource(name = "userFile")
    private File userFile;

}

@Resource обычно используется для ввода источников данных, одноуровневых сервисов, контекстных конфигураций и т. Д.

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

Аннотация @Resource используется для определения класса, поля или метода, в который при инициализации будет добавлен ресурс.Для @Resource на основе классов «ресурс просматривается приложением во время выполнения».

Дополнительную информацию можно найти здесь: https://docs.oracle.com/javaee/6/tutorial/doc/bncjk.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...