小编Ick*_*ter的帖子

加载特定于环境的属性以与PropertyPlaceholderConfigurer一起使用?

这似乎是一个非常普遍的问题,但我没有找到任何关于最佳方法的共识,所以我在这里提出问题.

我正在使用Spring Batch和Spring开发一个命令行Java应用程序.我正在使用属性文件和PropertyPlaceholderConfigurer,但我不太确定处理多个环境(dev,test等)的属性文件的最佳方法.我的谷歌搜索只是编写加载属性的程序化方式(即,在Java代码本身),这对我正在做的事情不起作用.

我考虑过的一种方法是简单地将每个环境的属性文件放在服务器上,并通过命令行参数将文件的目录添加到类路径中,但是我一直在使用该方法加载文件时遇到问题.

我正在考虑的另一种方法是在jar中包含所有属性文件,并使用系统属性或命令行参数在运行时填写属性文件的名称,如下所示:

<bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>classpath:job.properties.${env}</value>
        </list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

我倾向于后一种解决方案,但我也想看看是否有一种更好的方法,我忽略了.

我还要提一下,我必须在运行时而不是在构建中进行替换.我被限制使用的过程需要一个单独的构建,这个构建将通过环境升级到生产,所以我无法使用替换ala Maven或Ant.

java spring properties

32
推荐指数
4
解决办法
5万
查看次数

Hibernate中带有命名查询的可选参数?

在使用Hibernate时,有没有办法在命名查询中指定可选参数(例如,何时从表单提供搜索参数而不是所有参数都需要)?我正在使用本机SQL查询,但问题可能也适用于命名的HQL查询.

我很确定答案是'不',但我还没有在文档中找到明确的答案.

java orm hibernate hql named-query

30
推荐指数
4
解决办法
6万
查看次数

Maven插件验证Spring配置?

有谁知道可以用来验证Spring配置文件的Maven插件?通过验证,我的意思是:

  • 验证所有bean引用构建路径上的类
  • 验证所有bean引用是否引用了有效的bean定义
  • 验证没有孤立的bean存在
  • 其他配置错误我敢肯定我错过了.

我四处搜索,没有想出任何东西.

Maven插件非常适合我的目的,但是任何其他工具(Eclipse插件等)都会受到赞赏.

validation configuration spring maven-2

17
推荐指数
1
解决办法
3753
查看次数

VB6函数名中&符号的重要性?

我刚刚收到了一堆遗留的VB6(!)代码,我不断看到在名称末尾用符号声明的函数,例如Private Declare Function ShellExecute& . . ..

我一直无法找到对此重要性的答案,也无法检测到任何使用的模式或已经命名的函数的签名.

任何人都知道那些尾随的&符号对编译器意味着什么,或者至少是否有一些我缺少的约定?到目前为止,我将其作为一个奇怪的程序员写下来,但我想知道它背后是否有任何意义.

vb6 sigils

15
推荐指数
2
解决办法
1556
查看次数

在Sybase ASE中进行升级(更新或插入)?

我正在编写一个应用程序来将数据从Oracle移动到Sybase,并且需要执行更新/插入操作.在Oracle中,我使用MERGE INTO,但它似乎在Sybase中不可用(无论如何都不在ASE中).我知道这可以用多个语句完成,但由于几个原因,我真的想把它变成一个语句.

有什么建议?

sql upsert sybase-ase

10
推荐指数
4
解决办法
1万
查看次数

Oracle唯一约束违规引用似乎不存在的约束

我收到一个我无法理解的错误.错误非常简单:

ORA-00001: unique constraint (*schema*.*xyz_constraint*) violated
Run Code Online (Sandbox Code Playgroud)

然而,造成我困惑的是事实上似乎不存在这样的约束.它当然没有在桌子上定义; 有问题的DB几乎没有定义参照完整性,我插入数据的特定表没有定义键.

对于它的价值,我无法在数据库中的任何位置找到约束:

    select *
    from all_constraints 
    where constraint_name like '%xyz_constraint%'
Run Code Online (Sandbox Code Playgroud)

有什么我可以忽略的吗?谢谢.

oracle oracle10g unique-constraint

6
推荐指数
2
解决办法
3805
查看次数

如何在Spring批处理中重试tasklet?

如何重试方法调用程序任务,我知道如果一个块任务失败,可以选择重试,并且可以选择设置退避策略,但是在方法调用程序任务xsd中我找不到重试选项.在发生故障时是否还有其他替代方法可以重试任务.

spring-batch

5
推荐指数
1
解决办法
2705
查看次数

SELECT COUNT(*)如何与表中所有记录的计数不同?

所以我有一张桌子:

CREATE TABLE TABLE_NAME (
    COLUMN_1   char(12)    NOT NULL,
    COLUMN_2   char(2)     NOT NULL,
    COLUMN_3   char(1)     NOT NULL,
    COLUMN_4   int         NOT NULL,
    COLUMN_5   char(2)     NOT NULL,
    COLUMN_6   money       NOT NULL,
    COLUMN_7   smallint    NOT NULL,
    COLUMN_8   varchar(10) NOT NULL,
    COLUMN_9   smallint    NOT NULL,
    COLUMN_10  datetime    NOT NULL
    Primary Key (COLUMN_1, COLUMN_2, COLUMN_3)
)
Run Code Online (Sandbox Code Playgroud)

SELECT COUNT(*)返回不同的值SELECT DISTINCT COUNT(*).这怎么可能?

我也试过了

SELECT COUNT(*) FROM (
    SELECT
        COLUMN_1,
        COLUMN_2,
        COLUMN_3,
        COLUMN_4,
        COLUMN_5,
        COLUMN_6,
        COLUMN_7,
        COLUMN_8,
        COLUMN_9,
        COLUMN_10
     FROM TABLE_NAME
    ) TMP
Run Code Online (Sandbox Code Playgroud)

返回与不同查询相同的计数.

我有点累了,所以我希望我没有遗漏一些明显的东西,但是我看不到主键和所有字段是如何非NULL,总计数可能与唯一记录的计数不同. …

sql select sybase-ase

0
推荐指数
1
解决办法
1万
查看次数

java中的for循环

如果我有以下代码,整数"i"在执行后将等于什么?在break语句后循环是否递增?

int i = 0;
for(int foo = 0; foo < 10; foo++,i++){
    break;
}
Run Code Online (Sandbox Code Playgroud)

java iteration loops for-loop

0
推荐指数
1
解决办法
2127
查看次数

为什么.NET无法识别Lambda语法?

我有一个最初在VS 2017中创建的Xamarin Forms项目,然后我们发现我们需要针对Windows 8,所以我正在努力让项目在VS 2015中启动并运行.

我最初尝试在2015年打开2017项目,看起来还不错,但是在构建时,我在使用lambda语法(=>)的每一行都遇到错误,无论是在访问器中还是在常规函数引用中.错误是花园式语法错误; 编译器似乎根本不识别运算符.例如,get => _privateVal;导致错误CS1043 { or ; expected.

我认为2015年开设2017年项目是一个问题,所以我在2015年从零开始创建了一个新项目,但我遇到了同样的问题.

我没有很多.NET经验,但lambdas已经存在了很长时间,所以我不知道为什么一个两年前版本的Visual Studio会出现这样的问题.我猜它可能是一个构建目标问题(类似于Visual Studio 2008不能识别Lambda表达式语法),但如果就是这样,我真的不知道如何纠正它.

总之,任何人都可以解释为什么C#不能识别lambda语法,并想知道如何修复它?

c# visual-studio-2015

0
推荐指数
1
解决办法
1962
查看次数