草庐IT

java - spring-nullpointerexception- 无法访问无注释类中的 Autowiring 注释服务(或 dao)

我遇到了无法解决的问题。从我的@Controller,我可以很容易地访问我的Autowiring的@Service类并毫无问题地使用它。但是当我从一个没有注释的单独类执行此操作时,它会给我一个NullPointerException。我的Controller(工作)-@ControllerpublicclassUserController{@AutowiredUserServiceuserService;...我单独的Java类(不工作)-publicfinalclassUsersManagementUtil{@AutowiredUserServiceuserService;或@Aut

java - DTO应该使用继承还是组合

在SOA中,如果一些DTO类具有一些重复的字段。使用组合或继承更好,这样就没有重复,或者只使用一个封装所有字段的DTO类。随着我的DTO类的增长,我看到很多重复的字段名称,Sonar报告令人啼笑皆非。什么是最好的方法(或替代方法)。例如publicclassDocDto{privateLongid;privateStringname;privateStringdocType}publicclassDocReviewDto{privateLongid;privateStringname;privateStringstatus;privateStringcomment;}

java - Spring Rest API 验证应该在 DTO 中还是在实体中?

验证应该在SpringBootRestAPI中的哪一层。我有一些模型、端点和DTO。我在DTO中添加了一些@NotNull和@Size注释。我在端点中添加了@Valid注释以及@RequestParam注释。但现在我想知道我是否也应该在@Entity类中进行验证?我觉得这将是代码的重复。但我读到一个层永远不应该依赖另一个层。 最佳答案 具有讽刺意味的是,有多少人真正相信验证应该是我们在我们的Controller或它们与业务代码交换的值对象中参与的事情,而在其他任何地方都不应该关注状态验证。我们应该始终努力在任何应用程序的多个阶段执行

c# - 存储库模式与 DTO 模式方法

我们可以使用这两种方法将数据发送到数据访问层或任何其他来源:方法1:入库方式:publicclassUser{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicintAge{get;set;}}publicclassUserRepository{publicstaticvoidAdd(Useruser){//Adduserlogic}publicstaticvoidDelete(Useruser){//Deleteuserlogic}publicstaticUserGet(intuserid){//Ge

java - 在 spring mvc Controller 中使用服务和 DAO

我正在构建一个Web应用程序,主要由来自后端/数据库的数据的CRUD操作组成。在某些情况下,我必须编写业务逻辑(我相信随着我们深入开发,我们将构建更多的业务逻辑)。目前,对于我正在创建的每个UI屏幕,我创建了一个模型类、服务类、DAO类、一个Controller(本质上是servlet)和一堆jsp页面。在大多数情况下,服务类只是调用DAO中的方法来传入模型对象。本质上,我们使用模型类来映射来自UI屏幕的数据。因此,Controller将在提交表单时填充模型对象。我已经开始使用服务类来保持从Web层到DAO层的分离层。但有时我觉得服务类只是添加了不必要的API调用级别,我认为我可以将D

java - 如何创建 org.springframework.dao.DataAccessException 实例?

我需要创建JUnit测试来处理DataAccessException,但是当我尝试时:thrownewDataAccessException();接收:CannotinstantiatethetypeDataAccessException为什么?我能做什么?谢谢。 最佳答案 DataAccessException是抽象类,无法实例化。而是使用具体类之一,例如newDataRetreivalFailureException("thiswasthereason")或创建您自己的类:thrownewDataAccessException(

java - Spring MVC : Generic DAO and Service classes

我正在使用SpringMVC编写Web。我使用GenericDAO编写了所有DAO。现在我想重写我的服务类。如何编写“通用服务”?有我的DAO:/*#################################DAO################################*/packagenet.example.com.dao;importjava.util.List;publicinterfaceGenericDao{publicTfindById(intid);publicListfindAll();publicvoidupdate(Tentity);publicvoi

java - 如何使用 Spring 数据 REST 公开自定义 DTO crud 存储库?

我不想公开我的模型类(jpa实体),而是公开它们具有不同数据传输对象(DTO)的属性的不同子集。这个想法是DTOCrudRepositoryJpaRepositoryentities,我想通过SpringDataREST公开DTOCrudRepository.例子:实体:@Entity@Table(name="groups")publicclassGroup{privateLongid;privateStringname;privateSetusers;//otherattributes@Id@GeneratedValue@Column(name="group_id")publicLo

java - 如何在不使用 "add"等的情况下在 DAO 中测试 "find"?

在下面的代码中,问题是我无法在不使用dao.list().size()的情况下测试dao.add(),反之亦然。这种做法是正常的还是不正确的?如果不正确,如何改进?publicclassItemDaoTest{//daototest@AutowiredprivateItemDaodao;@TestpublicvoidtestAdd(){//issue->testingADDbutusingLISTintoldSize=dao.list().size();dao.add(newItem("stuff"));assertTrue(oldSizetestingFINDbutusingADDI

java - Spring MVC : should service layer be returning operation specific DTO's?

在我的SpringMVC应用程序中,我在表示层中使用DTO,以便在服务层中封装域模型。DTO被用作spring表单支持对象。因此我的服务看起来像这样:userService.storeUser(NewUserRequestDTOreq);服务层将翻译DTO->域对象并完成其余工作。现在我的问题是,当我想从服务中检索DTO以执行更新或显示时,我似乎找不到更好的方法来执行此操作,然后使用多种方法来查找返回不同的DTO喜欢...EditUserRequestDTOuserService.loadUserForEdit(intid);DisplayUserDTOuserService.load