草庐IT

config-if

全部标签

java - 将 if-else 修改为策略模式

我在java中有以下if-else分支。if(str.equals("a")){A;}elseif(str.equals("b")){B;}elseif(str.equals("c")){C;}elseif(str.length==5){D;}else{E;}如何将这段代码修改成策略模式? 最佳答案 这里是一个使用工厂的策略模式的例子:publicinterfaceStrategy{publicObject[]execute(Object[]args);}publicclassStrategyFactory{publicenumNa

java - 现在有人为 Spring 框架使用 Java-config 吗?

我正在经历SpringJavaConfig页面。它说Thoughtheprojectshouldnowbeconsidered'decommissioned',theresourceshereinwillremainindefinitelyforposterity'ssake:这是否意味着它已过时?现在有人在他们的项目中使用它吗?与传统的xml配置相比,它有什么优势吗? 最佳答案 虽然SpringJavaConfig项目已停止(网页保持打开状态只是为了保持链接处于Activity状态),但该项目的结果已合并到主Spring项目中Sp

java - Find out if the calling thread is the SWT UI thread - 确定调用线程

我有这个模块用于应用程序COMM的多个部分(在SWTUi端、后端等)。这个模块有一个sendMessage方法,我想在其中添加一个例程来确定调用线程(只是为了在UI中使用它)是SWTUI线程。并警告程序员,他正在尝试从UI线程执行耗时的操作……这很糟糕:)当然,我想通过不在UI模块(来自COMM)上添加任何依赖项来做到这一点。如何确定调用线程是否是SWTUI线程?谢谢,米尔恰 最佳答案 您可以调用Display.getThread()来获取应用程序的当前UI线程。如果您不想依赖SWTUI,那么您将不得不使用反射。例如:publics

java - 从 Java 类访问 Config.groovy

当我的Grails应用程序启动时,我还会在后台启动SpringIntegration和Batch进程。我想将一些数据库连接属性存储在Config.groovy文件中,但如何从集成/批处理过程中使用的Java类访问它们?我找到了这个主题:ConvertingJava->Grails...HowdoIloadtheseproperties?建议使用:privateMapconfig=ConfigurationHolder.getFlatConfig();后面是类似的东西:Stringdriver=(String)config.get("jdbc.driver");这实际上工作正常(属性从C

java - Sonar 标志 "Bad practice": Usage of GetResource in XYZ may be unsafe if class is extended

Sonar在我们的Java项目中指示这个错误。欢迎任何有关安全编程的建议!URLurl=getClass().getResource("/myWonderfulResource.txt");if(url==null){thrownewIllegalStateException("Filenotfound:/myWonderfulResource.txt");} 最佳答案 将类设为final,使其无法扩展。警告是为了防止扩展类(可能)尝试使用不存在的资源。 关于java-Sonar标志"B

java - 避免在 If 条件中使用文字

这部分代码在sonar中被pmd拒绝了:publicStringgetFoo(){Stringfoo=System.getProperty("foo");if(foo==null){foo=System.getenv("foo");}elseif(foo==null){foo="defaultFoo";}returnfoo;}它说“避免在If条件下使用文字”。谁能告诉我这有什么问题或这条规则试图产生什么影响? 最佳答案 为什么不使用:publicStringgetFoo(){Stringfoo=System.getProperty(

conversionService/FormattingConversionServiceFactoryBean 的 Java Config 等价物

我有一个包含另一个实体的实体,如下所示:publicclassOrder{@Idprivateintid;@NotNullprivateDaterequestDate;@NotNull@ManyToOne(cascade=CascadeType.ALL)@JoinColumn(name="order_type_id")privateOrderTypeorderType;}publicclassOrderType{@Idprivateintid;@NotNullprivateStringname;}我有一个SpringMVC表单,用户可以在其中提交新订单;他们必须填写的字段是请求日期并选

java - if-else 不应该有 break 吗?

所以我的教授提到if/if-else语句中的中断是“糟糕的”代码。她到底是什么意思?另外,我如何才能修复我目前编写的代码,因为它确实按照我想要的方式工作,现在我需要摆脱break语句。intsumOne=1;intsumTwo=1;intsumOneTotal=0;intsumTwoTotal=0;while(sumOne>0||sumTwo>0){System.out.print("Enteranumbertoaddtofirstsum:");//Theuserentersinavalueforthefirstsum.sumOne=input.nextInt();/***Weusea

java - 如何在 Spring Data(和 Spring Data Rest)中通过 Java Config 配置审计?

我正在尝试使用SpringData的审计功能(与SpringBoot和SpringDataRest结合使用),但在保存时未设置审计字段。尝试保存空“创建者”时,所有保存都会导致约束异常。根据springdatadocs,我应该能够在我的实体上放置适当的审计注释(@CreatedDate/等),并使AuditorAware可用于应用程序上下文。我知道我的审计员​​感知bean是通过在调试器中设置断点创建的。我的问题是:1)我是否有必要创建一个AuditingEntityListener,或者我是否应该期望通过@EnableJpaAuditing提供一个?(关于java配置的文档中并不清楚

java - 多个 'if' 语句和 'if-else-if' 语句对于互斥条件是否相同?

写多个if语句和if-else-if语句有什么区别吗?当我尝试用多个if语句编写程序时,它没有给出预期的结果,但它与if-else-if一起工作。条件是互斥的。 最佳答案 当您编写多个if语句时,可能会有多个if语句被评估为true,因为这些语句彼此独立。当您编写单个ifelse-ifelse-if...else语句时,只能将一个条件评估为真(一旦找到评估为真的第一个条件,将跳过下一个else-if条件).如果每个条件block都跳出包含if语句的block(例如,通过从方法返回或从循环)。例如:publicvoidfoo(intx