Autowired自动装配,Bean之间的关联关系
在Ioc容器里面找有没有跟这个类兼容的Bean,有的话加载
可以用在构造器,普通字段,有参方法数组类型属性,集合类型属性,Maprequired=false不需要装配
@Resource和@inject和 @Autowired类似
package annotation.repository;public interface UserRepository { void save();}
package annotation.repository;import org.springframework.stereotype.Repository;//起名字UserJdbcRepository@Repository("UserJdbcRepository")public class UserJdbcRepository implements UserRepository { @Override public void save() { System.out.println("save jdbc ...."); }}
package annotation.repository;import org.springframework.stereotype.Repository;//起名字UserRepositoryImpl@Repository("UserRepositoryImpl")public class UserRepositoryImpl implements UserRepository{ @Override public void save() { System.out.println("Impl ....."); }}
package annotation.service;import annotation.repository.UserRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Service;@Servicepublic class UserService { @Autowired @Qualifier("UserRepositoryImpl") //指定名字 private UserRepository userRepository; //@Autowired //@Qualifier("UserRepositoryImpl") //也可用在方法上 public void setUserRepository( UserRepository userRepository) { this.userRepository = userRepository; } public void add() { System.out.println("UserService add."); userRepository.save(); }}