天天看点

Spring中Component、Service、Controller和Repository

含义

  • @Service 用于标注业务层组件
  • @Controller 用于标注控制层组件
  • @Repository 用于标注数据访问组件,即DAO组件
  • @Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

区别

举例子

  • DAO层
/**
* Dao层接口
*/

public interface UserDao{

  public void save();
}      
  • DAO层实现类
/**
* Dao层实现类
*/
@Repository
public class UserDaoImpl implements UserDao{

  @Override
  public void save(){
    System.out.println("保存测试!");
  }
}      
  • Service层
/**
* Service 接口
*/
public interface UserService{
  public void UserSave();
}      
  • Service实现类
/**
* Service 实现类
* 业务代码实现
*/
@Service
public class UserServiceImpl implements UserService{

  @AutoWired //自动注入
 private UserDao userdao;
  public void UserSave(){
  System.out.println("Service 执行");
  userdao.save();
  }
}      
  • 中间类
/**
* 中间类
*/

@Component
public class DtoClass(){
  public void say(){
    System.out.println("Dto 执行");
  }
}      
  • 控制层
/**
* 控制层类
*/
@Controller
public class UserController{
  @AtuoWired
  private UserService userService;
  @AutoWired
  private DtoClass dtoClass;
  public void save()
  {
    System.out.println("Controller 执行");
    userService.Usersave();
    dtoClass.say();
  }
}