我无法理解@Resource
注释的含义。我查看了在线资源,但他们似乎以一种难以理解的方式解释了这一点。如果可能的话,有人可以用简单的方式解释@Resource
的含义吗?
谢谢!
答案 0 :(得分:3)
首先,要了解@Resource
您需要了解控制反转(IoC)的要点。
控制反转是软件开发的一个原则,即对象的控制应该转移到容器或框架。
依赖注入(DI)是IoC实现的模式,其中被反转的控件是对象依赖项的设置。 用其他对象组合对象(注入)的行为是由容器而不是对象本身完成的。
使用DI框架(如Spring IoC
或EJB
),您可以创建POJO并配置框架(POJO配置方式称为Bean
)
到目前为止一切顺利。下一步是什么?是时候使用我们的 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