【JAVA】Spring 自动注入类注释详解
来源:互联网 发布:cnc刀库编程 编辑:程序博客网 时间:2024/05/21 09:08
首先在Spring配置文件中使用
<context:component-scan base-package="需要扫描的目录" />
声明启动包扫描功能。<context:component-scan/> 配置项不但启用了对类包进行扫描以实施注释驱动 Bean 定义的功能,同时还启用了注释驱动自动注入的功能(即还隐式地在内部注册了AutowiredAnnotationBeanPostProcessor 和 CommonAnnotationBeanPostProcessor)。
下面来说明自动注入类注释的区别
@Autowired
Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
@Resource
@Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,面@Resource 默认按 byName 自动注入罢了。@Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将@Resource 注释的 name 属性解析为 Bean 的名字,而 type 属性则解析为 Bean 的类型。所以如果使用 name 属性,则使用 byName 的自动注入策略,而使用 type 属性时则使用 byType 自动注入策略。如果既不指定 name 也不指定 type 属性,这时将通过反射机制使用 byName 自动注入策略。
Resource 注释类位于 Spring 发布包的 lib/j2ee/common-annotations.jar 类包中,因此在使用之前必须将其加入到项目的类库中。
以下四个注释功能基本相同,都是注释在类上。
@Repository
@Repository 只能标注在 DAO 类上。这是因为该注解的作用不只是将类识别为 Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring 本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。
@Component
@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
@Service
@Service 通常作用在业务层,但是目前该功能与 @Component 相同。
@Constroller
@Constroller 通常作用在控制层,但是目前该功能与 @Component 相同。
- 【JAVA】Spring 自动注入类注释详解
- spring注释注入
- [JAVA][Spring]Spring 3.0 注解注入详解
- java 反射,spring 自动注入原理
- java 反射 模拟spring自动注入
- java 反射 模拟spring自动注入
- Spring学习,集合类的自动注入
- Spring自动注入Bean
- Spring自动注入
- Spring的自动注入
- SPRING-MVC 自动注入
- spring 自动依赖注入
- Spring自动注入Bean
- spring 自动扫描 注入
- spring自动注入入门
- Spring自动注入“失效”
- spring 自动装配注入
- Spring 自动注入依赖
- C语言:生产者-消费者问题、读者-写者问题
- C 语言DLL跨平台调用时,支持多线程TLS方法的使用
- 关于Spring返回json的问题
- java 树的应用
- [Unity] A* pathfinding project integrated with influence map
- 【JAVA】Spring 自动注入类注释详解
- TCP/UDP通信协议基础全集(区别,三次握手四次挥手)
- 联网请求操作okhttputils
- Python第三方库h5py——读取mat文件并显示值
- modern c++ design
- 给动态添加的按钮添加动态事件
- 计算指定节点*p所在的层数
- d3缩放
- 理解OAuth 2.0