@Resource注释的含义

时间:2018-05-18 21:11:31

标签: java annotations

我无法理解@Resource注释的含义。我查看了在线资源,但他们似乎以一种难以理解的方式解释了这一点。如果可能的话,有人可以用简单的方式解释@Resource的含义吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

首先,要了解@Resource您需要了解控制反转(IoC)的要点。

控制反转是软件开发的一个原则,即对象的控制应该转移到容器或框架。

依赖注入(DI)是IoC实现的模式,其中被反转的控件是对象依赖项的设置。 用其他对象组合对象(注入)的行为是由容器而不是对象本身完成的。

使用DI框架(如Spring IoCEJB),您可以创建POJO并配置框架(POJO配置方式称为Bean

enter image description here

到目前为止一切顺利。下一步是什么?是时候使用我们的 bean

@Resource是有助于从容器中提取 bean 的注释。

提取bean有几种查找选项:

  • 按名称匹配
  • 按类型匹配
  • 按资格赛匹配

使用不带任何参数的@Resource会触发按类型匹配查找类型。

有一个使用示例或带有字段注入的@Resource和带有基于Java的配置的Spring框架以及按名称匹配

@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通常用于注入数据源,单例服务,上下文配置等。

答案 1 :(得分:0)

@Resource注释用于标识在初始化时将注入资源的类,字段或方法。对于基于类的@Resource,应用程序在运行时查找"资源"。

可在此处找到更多信息:https://docs.oracle.com/javaee/6/tutorial/doc/bncjk.html