首先Spring通过DI (依赖注入)实现IOC,常用的注入方式主要有结构方法注入、setter注入、注释注入三种。
2结构注入2.1注入beanpublicclassuserviceimplementsiuserservice { privateiuserdaouserdao; //结构注入publicuserservice (iuserdaouserdao ) {this.userDao=userDao; //注入后才使用public void loginUser () {userDao.loginUser ); }} 2.2相应的配置bean id=' userservice ' class=' com.lyu.spring.service.impl.userservice '/将构造属性注入bean constructor-argreection bean bean id=' userdao JDBC ' class=' com.lyu.spring.Dao.impl.userdao JDBC ' class bean3setter注入3.1使用注入beanpublicclassUserss //set注入,set配置的name属性,首字母大写publicsetuserdao (iuserdaouserdao ) {this.userDao=userDao //空的构建方法public UserService () ({}public void loginUser ) ) {userDao.loginUser ); }} 3.2支持的配置bean id=' userservice ' class=' com.lyu.spring.service.impl.userservice '/name属性注入bean, 反射注入property name=' userdao ' ref=' userdaomybatis '/property/bean bean id=' userdao JDBC ' class=' com.lyu.sprinid
@Component :注册所有bean
@ repository :注册到Dao层的bean
@Controller :注册控制层的bean
@Service :注册服务层的bean
@Resource:java的评论,默认用byName方式匹配与属性名相同的bean的id,如果找不到的话用byType方式进行检索,如果发现多个byType的话用@Qualifier评论(spring coko )
@Autowired :先按ByType方式匹配,多匹配后按ByName方式匹配,找到对应的bean后注入,找不到则抛出异常。