spring Java Sping Boot :存储库服务(& S)

jjjwad0x  于 2022-10-31  发布在  Spring
关注(0)|答案(2)|浏览(121)

请您简要解释一下Sping Boot 中的Repository类和Service类负责什么。据我所知,Repo用于执行所有数据库操作并与DB交互,但我在某个地方从视频中听说Service类与DB对话,因此我感到困惑,无法找到它们的任何定义。非常感谢您的参与。

g9icjywg

g9icjywg1#

@服务分配Bean来处理逻辑
@存储库分配Bean来负责与数据库通信

yzuktlbb

yzuktlbb2#

服务类是您执行不希望用户查看的业务逻辑的地方,存储库类是您对实体执行数据库操作的地方。
还有一个称为控制器的类,用于与Web请求交互,然后将这些请求转发到服务方法,如果需要数据库中的数据,则将其转发到存储库类。
它通常是用于构建生产级应用程序的设计模式。下面是一个简短的示例

@Controller // Controller class
public class RequestController{
  @Autowired
  private ServiceClass service;
  @RequestMapping("")
  public string index(@Param("name") String name){
     return service.getString();
     }

@Service
public class ServiceClass{
 @Autowired
 private StuRepository repo;
 public String getString(String name){
   if(name.equals("Rahul")
    return repo.findName();
   else
     throw new Error("business logic performed here");
}

@Repository
public interface StuRepository extends JpaRepository<Model,Integer>{
String findName();
}

相关问题