Java Spring引导设计模式和SSR vs REST api有一些问题
我想问一些关于构建spring boot 2应用程序的问题。所以几个月前,我决定开始用spring boot和angular构建基本博客应用程序,我创建了一些实体、用户的rest控制器、角色、文章、类别和评论,并为每个实体创建了服务和服务实现,例如,我的UserServiceImpl如下所示 使用HQL,而不是存储库Java Spring引导设计模式和SSR vs REST api有一些问题,java,rest,spring-boot,design-patterns,server-side-rendering,Java,Rest,Spring Boot,Design Patterns,Server Side Rendering,我想问一些关于构建spring boot 2应用程序的问题。所以几个月前,我决定开始用spring boot和angular构建基本博客应用程序,我创建了一些实体、用户的rest控制器、角色、文章、类别和评论,并为每个实体创建了服务和服务实现,例如,我的UserServiceImpl如下所示 使用HQL,而不是存储库 @Override public List<User> getUsers() { Query q = entityManager.createQ
@Override
public List<User> getUsers() {
Query q = entityManager.createQuery("select u from User u");
List<User> users = q.getResultList();
if(users == null){
users = new ArrayList<>();
}
return users;
}
@覆盖
公共列表getUsers(){
Query q=entityManager.createQuery(“从用户u中选择u”);
List users=q.getResultList();
如果(用户==null){
users=newarraylist();
}
返回用户;
}
这样做对吗?我是否必须这样构建它,因为我没有使用任何repo,我看到的每个springboot最佳实践项目都使用存储库而不是HQL,我不确定我是否应该将存储库或自定义服务与HQL一起使用。这是我的第一个问题
第二个问题是我应该使用服务器端渲染和api,还是只使用没有服务器端渲染的api,因为我看到一些项目使用ssr和rest api,这让我很困惑
感谢您提供的帮助回答1: 有三种流行的存储库
crudepository
,paging和sortingrepository
和JpaRepository
EntityManager
。您可以在EntityManager中使用HQL,在JpaRepository中使用JPQL
JpaRepository
您的代码就是这样
List users=userRepository.findAll();
返回用户@Query
注释实现类似功能- 它们是稳定的
- 针对较旧技术的文档/帮助很多(较旧的并不意味着JDBC等,它意味着相对较旧的版本/技术)
- 大多数应用程序将与它们兼容
- 浏览器/客户端设备可能不够快,转换JSON/XML需要相对较长的时间
- 当您从服务器本身获得呈现响应时,JS引擎只需显示,而不必费心将JSON转换为HTML/CSS并在cliend设备上呈现
回答得很好,真的很感谢。我忘了提到项目结构。你能给我一些项目的例子吗?再次感谢你的回答!