草庐IT

initial_value

全部标签

java - 使用 Spring @Value 时如何进行简单的属性验证

如果${service.property}不是空字符串,我该如何检查,如果是,则抛出某种可读异常?它必须在Bean创建期间发生。@ComponentpublicclassService{@Value("${service.property}")privateStringproperty;}我正在寻找最简单的方法(最少编写的代码)。如果使用注释会很棒。我目前的解决方案是在属性的setter中执行“手写”验证,但是对于这样简单的事情来说代码有点太多了。提示:我正在寻找一些使用SpEL的方法,因为我已经在@Value中使用了它,但据我所知,它不会那么容易/干净。但可能忽略了一些事情。澄清:预

java - Dozer 映射 HashMap<Key,Value> 到 List<Value>

我有一个源对象,它有:publicclassSource{publicMapgetDTOs();}和目标对象:publicclassDestination{publicListgetDTOs();publicvoidsetDTOs(Listdtos);}我正在尝试使用Dozer为我做这个映射,但我有点难过。我已经对单元测试进行了分类,并且只对文档进行了分类,但我的挑战是我不确定我在寻找什么。 最佳答案 总的来说,Dozer喜欢从喜欢到喜欢的映射,尤其是在数据结构方面。这使您的问题变得棘手。毫无疑问,您已经阅读了有关将java.uti

java - "variable may not have been initialized"的设计合理性是什么?

这个问题在这里已经有了答案:Whymustlocalvariables,includingprimitives,alwaysbeinitializedinJava?(8个答案)关闭9年前。众所周知,在Java中需要在使用局部变量之前对其进行初始化(参见JLS)Alocalvariable(§14.4,§14.14)mustbeexplicitlygivenavaluebeforeitisused,byeitherinitialization(§14.4)orassignment(§15.26),inawaythatcanbeverifiedusingtherulesfordefinit

java - DAO/存储库 : Good practice return value after insert/update

虽然这可能是一个微不足道的问题,但我一直想知道这个问题。通常,在插入数据库后,返回业务实体的ID似乎是常见的做法。@OverridepublicLongcreateUser(UserEntityuser){em.merge(user);em.flush();returnuser.getId();}返回id而不是业务对象引用本身是否有令人信服的理由?同样,我看到update返回void,但它也可能是一个id/User。如果我要编写一个DAO/Repository供其他人使用,建议的返回值是什么(如果有),为什么? 最佳答案 如果已成功

java - Jackson 解析异常-(虽然至少有一个 Creator 存在): no String-argument constructor/factory method to deserialize from String value

SpringBoot版本:1.5.10jackson版本:2.9.5Lombok版本:1.18.0我有一个使用kafka发送负载的场景。收到该有效载荷后,我试图断言接收方和发送方端的有效载荷是否相同。首先,我创建了一个将作为有效负载传递的类。该类的结构如下所示。使用的lombok插件版本为1.18.0。@Builder@Getter@Setter@AllArgsConstructor@NoArgsConstructor@JsonIgnoreProperties(ignoreUnknown=true)publicclassMyDummyClassimplementsSerializabl

java - 接缝问题 : Could not set field value by reflection

我的Seam代码有问题,我似乎无法弄清楚我做错了什么。它正在做我的头:)这是堆栈跟踪的摘录:Causedby:java.lang.IllegalArgumentException:Cannotsetjava.lang.Longfieldcom.oobjects.sso.manager.home.PresenceHome.customerIdtojava.lang.String我正在尝试将我的URL上的参数集传递到我的一个bean中。为此,我在pages.xml中进行了以下设置:我的bean是这样开始的:@Name("presenceHome")@Scope(ScopeType.CONV

java number exceeds long.max_value - 如何检测?

我在检测两个数字的总和/乘积是否超过长整数的最大值时遇到问题。示例代码:longa=2*Long.MAX_VALUE;System.out.println("long.max*smth>long.max...orisit?a="+a);这给了我-2,而我希望它抛出一个NumberFormatException...是否有一种简单的方法来完成这项工作?因为我有一些代码在嵌套的IFblock中执行乘法或在循环中执行加法,所以我不希望向每个IF或循环内添加更多IF。编辑:哦,好吧,看来另一个问题的答案最适合我的需要:https://stackoverflow.com/a/9057367/54

java - 在非组件对象上使用 Spring @Value

我遇到了这个问题,但我不知道如何解决。我使用SpringBoot创建了我的RestfulAPI,并且我正在实现DTO-Domain-Entity模式,所以在这个特殊情况下我有这个Controller的方法@RequestMapping(method=RequestMethod.POST)@ResponseBodypublicResponseEntitycreateUser(@RequestBodyUserRequestDTOdata){UserDomainuser=this.mapper.map(data,UserDomain.class);UserDomaincreatedUser=

java - Spring 启动 : restarter not initialized

当springboot版本为1.5.3.RELEASE时,启动应用程序出现如下错误堆栈跟踪:java.lang.IllegalStateException:Restarterhasnotbeeninitializedatorg.springframework.util.Assert.state(Assert.java:392)~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]atorg.springframework.boot.devtools.restart.Restarter.getInstance(Restarter.java:563)~

java - XPTY0004 : Required item type of first operand of '>' is numeric; supplied value has item type xs:string

toComplie字符串包含函数的所有定义,如求和、乘法等。附加if($a>0)then(iaf:numeric-equal(iaf:numeric-multiply($b,$c),$d))否则(true())执行这个的片段是:XQueryExecutablequeryExecutable=xqueryCompiler.compile(toCompile.toString());XQueryEvaluatorxqueryEvaluator=queryExecutable.load();//setExternalVariables():functionusedtosetthevariab