MVC模型对象,域对象和DTO之间有什么区别?
我的理解是:
MVC模型对象:
为相应视图显示的数据建模.它可能不直接映射到域对象,即可能包括来自一个或多个域对象的数据.
域对象:
用于对问题域中的现实世界对象进行建模的对象,如预留,客户,订单等.用于保存数据.
DTO(数据传输对象):
当层处于单独的进程中时,用于在层之间传输数据的对象,例如从DB到客户端应用程序.在获取与多个域对象相对应的数据时,允许跨线的单个事务而不是多个调用.DTO仅包含数据和访问器方法,并且不存在逻辑.该数据用于特定的DB事务,因此它可以或可以不直接映射到域对象,因为它可以包括来自一个或多个域对象的数据.
所以,问题:
以上理解是否正确?我错过了一些关键点吗?
是否有任何理由不使用Domain对象作为MVC模型,假设Model对象不需要额外的业务逻辑?
是否有任何理由不使用DTO作为MVC模型,假设Model对象不需要额外的业务逻辑?
当我们在Redis中使用事务时,它基本上管道事务中的所有命令.当触发EXEC时,所有命令一起执行,从而始终保持多个命令的原子性.
流水线不一样吗?
流水线和交易如何不同?另外,为什么Redis的单线程性质不足?为什么我们明确需要流水线/事务?
我有Maven POM文件的一些配置,在插件部分,我有maven tomcat插件,其中有一些配置如下:
<configuration>
<url>http://localhost:8080/manager/html</url>
<server>tomcat</server>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我想将url设置导出到某个属性文件,例如使用该键的tomcat.properties:
url=http://localhost:8080/manager/html
Run Code Online (Sandbox Code Playgroud)
如何在POM文件中读取此密钥?
我是棱角分明的新人.我正在使用一个获取对象列表并在第一页上显示它们的服务.然后根据点击的对象,我在下一页设置标签页眉.但是当我刷新页面时,列表的范围将丢失,并且选项卡标题会抛出异常,导致页面不显示信息.有没有办法保留即使刷新第二页时在前一个屏幕上点击了哪个对象的信息?
我有论坛.每个主题都有像viewCount这样的字段 - 论坛用户查看了多少次主题.
我希望所有主题领域都来自ES(id,date,title,content和viewCount).但是,在每个主题视图ES之后的这种情况必须再次重新索引整个文档 - 我问了关于堆栈的部分更新的问题 - 未编制索引的字段的部分更新.重要的是要注意 - viewCount字段没有索引,它只是存储在ES中.
问题是有两个术语 - 部分更新和部分索引.ES中有部分更新 - 您只能更改几个字段.Bu没有部分重新索引 - 这意味着如果你甚至只更改一个字段,ES将重新索引整个文档.这意味着如果主题被查看1000次,ES将索引1000次.如果我有很多用户,许多文档将被反复索引.这是第一个战略.
我认为第二种策略是从索引中获取一些主题,从数据库中获取一些主题.在这种情况下,我从DB获取viewAcount.但是,我可以将所有字段存储在数据库中,并仅使用索引作为INDEX - 来获取当前主题的ID.
解决此类问题的最佳方法是什么?
什么HttpServletRequest中的setAttribute()和HttpSession中的setAttribute()之间的区别是什么?他们在什么情况下使用?谢谢你的帮助!
我正在为我的应用程序开发Microservices API.我从Spring Boot应用程序开始.我创建了两个工件 - "嵌入式tomcat的业务代码"和"没有嵌入式tomcat的业务代码".
当我比较性能结果时,我可以看到"非嵌入式tomcat"(即在独立的tomcat上执行)由于本机执行而提供了良好的输出.
那么基本上嵌入式tomcat和独立tomcat之间的区别是什么呢?
两次执行之间的表现有何不同?
Spring Cloud openFeign 无法创建动态查询参数。它抛出以下异常,因为 SpringMvcContract 试图找到不存在的 RequestParam 值属性。
java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0
@RequestMapping(method = RequestMethod.GET, value = "/orders")
Pageable<Order> searchOrder2(@RequestParam CustomObject customObject);
Run Code Online (Sandbox Code Playgroud)
我尝试使用@QueryMap而不是@RequestParam但@QueryMap不生成查询参数。
顺便说一句,@RequestParam Map<String, Object> params方法参数可以很好地生成动态查询参数。
但我想使用一个自定义对象,其中 feign 客户端可以从对象的属性生成动态查询参数。
spring spring-mvc spring-boot spring-cloud spring-cloud-feign
这是我的AngularJS代码,用于在用户选择文件时显示图像预览
<form action="<?php echo $this->getFormAction();?>" id="contactproForm" method="post" ng-app="myApp" ng-controller="myCtrl" enctype="multipart/form-data">
<label for="file"><?php echo Mage::helper('contactpro')->__('Attachment') ?></label>
<div class="input-box">
<input type="file" id="file" class="input-text" ngf-select ng-model="picFile" name="attachement" accept="image/png, image/jpeg, image/jpg, application/msword, application/vnd.ms-excel, application/pdf " />
</div>
<label for="file"><?php echo Mage::helper('contactpro')->__('Image Preview') ?></label>
<img ng-show="picFile[0] != null" ngf-src="picFile[0]" class="thumb">
</form>
Run Code Online (Sandbox Code Playgroud)
选择图像时,此行显示拇指图像预览
<img ng-show="picFile[0] != null" ngf-src="picFile[0]" class="thumb">
Run Code Online (Sandbox Code Playgroud)
现在的问题是当我选择图像时,图像拇指正确显示但是当我选择pdf,doc或任何其他文件格式时,它会显示裂缝图像拇指.如何在此处放置一些AngularJs条件,以便仅在选择图像时才显示图像缩略图,否则不显示任何内容.
我正在使用Spring Hateoas来处理HTTP响应中的HAL标准.我的控制器中有一个HTTP DELETE方法,它不返回任何内容(void).在同一实体的响应中,我想提供一个删除资源的链接.我尝试使用以下代码,但它给出了错误
无法解析方法linkTo(void)
resource.add(linkTo(
methodOn(DokumenteController.class)
.loeschenEinDokument(filenetDokumentZuordnung.getDokumentId()))
.withRel("download"));
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以添加一个返回void的方法的链接?
spring ×3
angularjs ×2
java ×2
spring-boot ×2
tomcat ×2
architecture ×1
dto ×1
hal ×1
hateoas ×1
maven-2 ×1
model ×1
page-refresh ×1
pipelining ×1
pom.xml ×1
redis ×1
rootscope ×1
servlets ×1
spring-cloud ×1
spring-mvc ×1
tomcat7 ×1
tomcat8 ×1
transactions ×1