Service
有多个实现类该怎样解决
Controller
中注入service
的时候使用@Autowired
自动注入,使用注解@Qualifier(value = "beanId")
来指定注入哪一个Controller
中注入service
的时候使用@Resource(type = 类名.class)
来指定注入哪一个- 每个
service
的实现类都可以指定名称(使用@Service(value = “名称”)
),Controller
中注入service
的时候使用名称来指定注入哪一个(使用@Resource(name = "名称")
)
@Autowired
注解的作用
@Autowired
翻译为自动装配,我们常称之为依赖注入,简称注入- 依赖注入与自动装配的关系:依赖注入的本质就是装配,装配是依赖注入的具体行为
@Autowired
注解的作用:当Spring
发现@Autowired
注解时,会自动在IOC
容器中找到和其匹配(默认是类型匹配)的bean
,并自动注入到相应的地方去
@Autowired
和 @Resource
区别
@Autowired
是Spring
的注解,@Resource
是J2EE
的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了@Autowired
默认按照byType
方式进行bean
注入,@Resource
默认按照byName
方式进行bean
注入@Autowired
默认情况下必须要求依赖对象必须存在,如果要允许null
值,可以设置它的required
属性为false
,如:@Autowired(required=false)