可以使用@Autowired注解进行bean的自动装配,Spring会在IOC容器中自动找到符合要求的bean,若找不到会报异常,设置required属性为false,自动装配的bean可以为空。
当有多个同一类型的bean的时候,自动装配时:
1.把bean的名称和要装配的变量的名称保持一致,IOC容器会优先装配同名的bean
2.可以通过@Qualifier来指定要自动装配的bean的名字
@Qualifier可以放在方法前面,也可以放在变量前
package com.ustc.yi.annotation.service;
import com.ustc.yi.annotation.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
/**
* Created by Yi on 2019/5/27.
*/
@Service
public class UserService {
private UserRepository userRepository;
@Autowired(required = false)
//@Qualifier指定自动装载哪一个bean
//@Qualifier("userJdbcRepository")
public void setUserRepository(@Qualifier("userJdbcRepository")UserRepository userRepository) {
this.userRepository = userRepository;
}
public void add(){
System.out.println("UserService add...");
userRepository.save();
}
}