从广义上来说,@Component,@Service,@Controller,@Repository这四个注解都是可以互相替代的,他们的作用都是让Spring框架来管理我们的bean实例,都相当于在XML文件中配置一个bean.
/*@Component*/
/*@Service*/
/*@Controller*/
@Repository
public class UserDaoImpl implements UserDao {
@Override
public void findUserById(String id) {
System.out.println("UserDaoImpl方法实现");
}
}
添加这几个注解的作用,其实和在xml文件配置这么一个bean没啥区别 <bean id="userDaoImpl" class="org.tt.daoImpl.UserDaoImpl"></bean>
不同点:
@Service,@Controller,@Repository这几个都是@Component的衍生注解,不过他们提供了更加明确的语义化.
@Controller,一般用于表现层的注解
@Service,一般用于业务层的注解
@Repository,一般用于持久层的注解