草庐IT

应不应该

全部标签

java - 我们什么时候应该迁移到 Maven 3?

我们的项目急需迁移到Flexmojos4以获得修复,但这需要Maven3。我们的项目广泛使用Maven,我们真的很喜欢它,但配置非常多。在十几个模块之间,我们可能有50多页XML配置。我们还使用Eclipse并大量使用M2Eclipse插件。我们还使用了以下Maven插件:资源建筑编号SQLhibernate3弹性Action大会jettycargoJAR/war和其他几个。读书thisblog让我觉得EclipseIndigo可以协同工作。我们应该在什么时候投入时间采取行动? 最佳答案 事实上,“移动”实际上应该只包括升级mave

java - 有没有办法向 Spring 指定一个 bean 应该在初始化时使用然后立即丢弃?

我很想知道是否有一个接口(interface)可以用来告诉Spring启动一个特定的bean,调用它的初始化过程(通过afterPropertiesSet()作为InitializingBean,或者通过init-method,或者其他方式),然后将其丢弃。我的用例是一个简单的“完整性检查器”,它将在Web应用程序启动时检查数据库中的有效值。尽管对于我们特定的bean来说开销很小,但是将那个bean永远保留在应用程序上下文中是没有意义的,因为一旦bean初始化,就不再需要它了。我确信这种行为还有其他用例,但我在Spring中还没有发现类似的东西。特别是,我在Spring的Java变体中

java - 我应该如何对使用 google guava 库的代码进行单元测试,尤其是 io 包中的代码?

Guava中的很多功能都是由静态方法提供的。我还没有想出如何合并使用Guava库和良好的依赖注入(inject)实践。例如,如果我要使用Files.readLines(File,Charset)然后我发现我很难编写不涉及文件系统的单元测试,我只喜欢为集成测试做。我想我可以为所有我感兴趣的对象编写一个适配器吗?但这最终可能需要大量工作...我觉得奇怪的是Guava库来自同一组人,他们提供指导并撰写博客文章,如this 最佳答案 呃,可怕的静态方法。我听说JMockit能够模拟静态,但我自己从未尝试过。我通常使用的解决方案是适配器。pu

我应该使用按钮还是链接

在网页无障碍领域,最具争议的问题之一是,在创建某些类型的交互元素时,应该使用按钮还是链接。为什么这个问题如此有争议?多年来,无障碍专家已经无数次回答了这个问题。同时,还有大量的参考文献提供了这个问题的答案。答案很简单,只有在没有考虑到为什么链接和按钮的外观和行为完全不同的情况下,才会引起争议。按钮和链接的行为有何不同?首先,了解按钮和链接的区别很重要。我曾看到有人错误地将它们混为一谈,过度简化为"执行动作"的元素。虽然它们都能让用户执行不同的操作,但这并不意味着它们是相同的元素。我们通过阅读一些HTMLLivingStandard和WAI-ARIA1.2的内容来回答这个关于行为差异的问题。注意

java - 捕获应用程序停止异常时应该使用 System.exit(1) 吗?

假设我有以下代码:try{//DosomethingwithFile}catch(FileNotFoundExceptione){outputInfo("ErrorinIORedirection",true);e.printStackTrace();System.exit(1);}我的程序在此捕获位置后立即退出,是一个单线程(一个主要方法)程序,不应期望从此类异常中恢复。我真的应该使用System.exit(1);吗? 最佳答案 如果您希望其他人运行您的程序,并且他们依靠进程状态代码来了解您的程序是成功还是失败,那么您应该使用Sys

java - DDD 什么时候应该创建域对象和持久化对象而不是将持久化对象用作域对象?

随着我对领域驱动设计的理解,我发现我有一个似乎有效的规则,尽管我想看看它是否过分杀伤力,也想看看相同情况的其他观点。我的问题是:“域模型和持久性模型什么时候应该包含在单独的对象中?”我目前选择的语言是Java,我正在使用SpringData的存储库模型。我看到了我的问题的三个主要答案。始终使用与持久性对象不同的域对象。仅当将域方法(行为)放在持久性对象上不切实际时,才使用单独的域对象。在所有情况下都将持久性对象用作域对象。为了提出有关DDD的问题,我发现我必须使用示例限界上下文,因为我对DDD的了解还不够多,无法以更抽象的方式提出问题。这是我的说明性限界上下文:假设我有一个具有以下业务

java - 我应该在目标目录中放什么?

我正在制作一个Maven插件。我使用另一个库下载文件并将它们放在一个目录中,如果它们不存在,或者如果它们太旧,那么我的代码将使用这些文件。我不希望开发人员使用我的插件错误地提交这个文件。将这个“临时”文件放在目标目录中是一个好习惯吗?一些其他插件创建自己的“target-custom”来执行此操作(例如grunt-maven-plugin创建一个target-grunt目录)。 最佳答案 是的!我什至会说这是一个很好的做法。我会说您必须在target文件夹中生成这些文件。target是Maven构建目录,也就是说所有生成的内容都应该

java - 我应该在 Java 9 中要求哪个模块才能使用 JPA?

我正在用一个需要JPA(javax.persistence.*类)的项目测试Java9。当我添加module-info.java并声明我的模块时,javax.persistece包下的所有类都变得不可用。我搜索了很多,但找不到需要在Java9模块项目中使用JPA的模块。更新正如艾伦建议的那样,我跑了$jar--describe-module--file=javax.persistence-api-2.2.jarNomoduledescriptorfound.Derivedautomaticmodule.java.persistence@2.2automaticrequiresjava.

Openlayers 入门教程(一):应该如何学习 Openlayers

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。No.内容链接1Openlayers【入门教程】-【源代码+示例300+】2Leaflet【入门教程】-【源代码+图文示例150+】3Cesium【入门教程】-【源代码+图文示例200+】4MapboxGL【入门教程】-【源代码+图文示例150+】5前端就业宝典【面试题+详细答案1000+】文章目

java - 我应该在 Java 8 Streams 中使用共享可变变量更新吗

只需在列表下方迭代并通过Java8流添加到另一个共享可变列表中。Listlist1=Arrays.asList("A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3");Listlist2=newArrayList();Consumerc=t->list2.add(t.startsWith("A")?t:"EMPTY");list1.stream().forEach(c);list1.parallelStream().forEach(c);list1.forEach(c);以上三个迭代之间有什么区别以及我们需要使用哪一个。有什么注意