【发布时间】:2016-04-25 11:28:59
【问题描述】:
我想了解注释的工作原理。我有这段代码,我在一个简单的 Spring 项目中使用过。
@Resource(name="dataSource")
private DataSource dataSouce;
我在 XML 配置文件中定义的数据源:
<!-- The Apache DBCP implementation of DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:tcp://localhost/~/test"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
spring xml配置文件中的其他sn-p
<context:annotation-config /> <!-- This enables the annotation's actions, else annotations don't do their work. -->
<context:component-scan base-package="com.example.dao.jdbc.impl"/> <!-- This is for component scan -->
<bean id="jdbcOperImpl" class="com.example.dao.jdbc.impl.JdbcOperImpl"/>
据我了解,资源注释来自javax.annotation.Resource。我查看了它的source code,注意到注解是由JDK SE 定义的,它只是一个注解的简单定义。这是如何进行注射的? Spring Framework 是否使用此注解并进行注入? @Resource注解和Spring框架有什么关系?
【问题讨论】:
-
你到底在问什么?这个问题很可能过于宽泛或重复。
-
“Spring Framework 是否使用此注解并进行注入?” 是的,如果不是所有注解,大多数注解只是简单的标记,为处理它们的单元携带信息。
-
@OrangeDog:这个问题与您暗示的问题不重复。我在问 Resource 如何注入依赖项。我查看了 Resouce 注释的源代码,该代码中没有什么特别之处可能会注入依赖项。我在问 Resouce 和 spring 框架在注入依赖项时有什么关系(这两者究竟是如何一起工作来注入依赖项的)
-
这个问题是 Spring 特有的,正是您要问的。正如我建议的第一个问题所说,
Resource在这方面与Autowired和Inject的工作方式相同。
标签: spring dependency-injection annotations