Spring依赖注入:注解注入
注解注入顾名思义就是通过注解来实现注入,
Spring和注入相关的常见注解有Autowired、Resource、Qualifier、Service、Controller、Repository、Component。
1.@Autowired是自动注入,自动从spring的上下文找到合适的bean来注入
@Autowired(required=true)表示必须找到匹配的Bean,否则将报异常。
@Autowired默认按类型匹配注入Bean
在Spring中,@Autowired注入的类型可以是接口
比如,在Service层中注入Dao,如下示:
@Autowired
private UserDao userDao;
2.@Resource要求提供一个Bean名称的属性,如果属性为空,自动采用标注处的变量名和方法名作为Bean的名称 。
@Resource默认按名称匹配注入Bean
比如,在Controller层中注入Service,名称为Service的实现类,如下示
@Resource(name = "userServiceImpl")
private UserService userService;
另外要注意,@Resource是java自带的注解,不是Spring中的注解。@Resource注解完整的包路径为import javax.annotation.Resource;
3.@Qualifier 指定注入bean的名称
比如,在Controller层中注入Service,名称为Service的实现类,如下示
@Autowired
@Qualifier("userServiceImp")
private UserSerevice userService;
4.@Service,@Controller,@Repository分别标记类是Service层,Controller层,Dao层的类,spring扫描注解配置时,会标记这些类要生成bean。
@Repository用于标注数据访问组件,即DAO组件
@Service,@Controller 这些注解要放在接口的实现类上,而不是接口上面。
5.@Component是一种泛指,标记类是组件,spring扫描注解配置时,会标记这些类要生成bean。
6.@Scope用于指定Bean的作用范围
7.@Autowired和@Resource是用来修饰字段,构造函数,或者设置方法,并做注入的。
而@Service,@Controller,@Repository,@Component则是用来修饰类,标记这些类要生成bean。
Spring依赖注入:注解注入的更多相关文章
- java 静态代码块和spring @value等注解注入顺序
java 静态代码块和spring @value等注解注入顺序 问题所在 先上代码 java方法 @Value("${mf.cashost}") public static S ...
- Spring 3.0 注解注入详解
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Spring系列之新注解配置+Spring集成junit+注解注入
Spring系列之注解配置 Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率 你本来要写一段很长的代码来构造一个 ...
- Spring-构造注入&注解注入&代理模式&AOP
1. 课程介绍 1. 依赖注入;(掌握) 2. XML自动注入;(掌握) 3. 全注解配置;(掌握) 4. 代理模式;(掌握) 5. AOP;(掌握) 依赖注入;(掌握) 2.1. 构 ...
- Spring入门_04_注解注入
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- [转]Spring通过@Value注解注入属性的几种方式
原文地址:https://blog.csdn.net/csujiangyu/article/details/50945486 ------------------------------------- ...
- Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)
什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...
- Spring构造器注入、set注入和注解注入
记得刚开始学spring的时候,老师就反复的提到依赖注入和切面,平常的java开发中,在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,sp ...
- spring常用的一些注解以及注解注入总结
常用的spring注解有如下几种: @Controller@Service@Autowired@RequestMapping@RequestParam@ModelAttribute@Cacheable ...
- Spring依赖注入:注解注入总结
更多11 spring 依赖注入 注解 java 注解注入顾名思义就是通过注解来实现注入,Spring和注入相关的常见注解有Autowired.Resource.Qualifier.S ...
随机推荐
- bzoj2002 弹飞绵羊
Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...
- python 自动化多线程的应用
1.本机上同时执行多个浏览器 import threading,sys from time import sleep,ctime from selenium import webdriver path ...
- Apache Kudu as a More Flexible And Reliable Kafka-style Queue
Howdy friends! In this blog post, I show how Kudu, a new random-access datastore, can be made to fun ...
- Spark分析之启动流程
- PHP MySQL Order By
ORDER BY 关键词用于对记录集中的数据进行排序. ORDER BY 关键词 ORDER BY 关键词用于对记录集中的数据进行排序. ORDER BY 关键词默认对记录进行升序排序. 如果你想降序 ...
- python之路_函数实例及装饰器介绍
一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[(‘红心’,2), (‘草花’,2), …(‘黑桃,‘A’)] def cards(): num=[] for v ...
- 并发基础(三) java线程优先级
在不同的JVM中(JVM也算是一个操作系统),有着不同的CPU调度算法,对于大部分的JVM来说,优先级也是调度算法中的一个参数.所以,线程优先级在一定程度上,对线程的调度执行顺序有所影响,但不能用 ...
- python中的运算符及表达式及常用内置函数
知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...
- c++官方文档-动态内存
#include<iostream> #include <new> using namespace std; int main() { /** * 动态内存 * url: ht ...
- 任务计划程序-Windows2008定时重启
参考网站:https://www.cnblogs.com/yeyun/p/6209540.html Windows系统的任务计划程序,可以添加计划任务,设置任务开始时间及执行的间隔,实现应用的自动执行 ...