@Autowired注解与@Resource注解的区别和注意事项

相同点
Spring都支持
都可以作用在字段和setter方法上
不同点:
@Autowired是根据type装配的,是由spring提供的
@Resource是根据name装配的,是由jdk提供的

注意:
如果一个类有多个实现类,则需要以下


@Service
public class Man implements Person {
 
	public String rPersonunMarathon() {
		return "A man run marathon";
	}
}

@Service
public class Woman implements Person {
 
	public String rPersonunMarathon() {
		return "A woman run marathon";
	}
}

/**
 * controller层实现类
 * @author Administrator
 */
@RestController
@RequestMapping("/an")
public class PersonController {
 
	@Resource(name="man")  //必须指定
	private Person person;
	/*或者以下
	@Autowired
	@Qualifier("man")
	private Person person;
	*/
	@RequestMapping("/run")
	public String runMarathon() {
		return person.runMarathon();
	}

你可能感兴趣的:(@Autowired注解与@Resource注解的区别和注意事项)