小编Cha*_*ick的帖子

我可以用@Autowire注释一个继承的最终属性吗?

解决方案:不,我不再扩展原始父级.

原文:
有没有办法注释继承的finalsetter方法?我正在扩展一个类,它有一个final我想@Autowire用Spring 的setter .父类来自库,无法修改.

我发现的一种解决方法是编写一个代理方法,但这似乎比必要的工作更多.

public abstract class SqlMapClientDaoSupport ... {
    public final void setSqlMapClient(SqlMapClient smc) {
        ...
    }
}

@Component
public class AccountDao extends SqlMapClientDaoSupport {
    // all this just to annotate an existing method?
    @Autowire
    public final void setSqlMapClientWorkaround(SqlMapClient smc) {
        super.setSqlMapClient(smc);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1:以上示例已修改以反映用例:
用例是为Ibatis/Spring实现扩展公共基类的 DAO对象.每个DAO都需要相同的属性集,每个都需要配置为bean.我目前通过单独配置每个来完成此操作applicationContext.xml.

<bean id="accountDAO" 
  class="com.example.proj.dao.h2.AccountDAOImpl"
  p:sqlMapClient-ref="sqlMapClient" />
<bean id="companyDAO" 
  class="com.example.proj.dao.h2.CompanyDAOImpl"
  p:sqlMapClient-ref="sqlMapClient" />
<!-- etc... -->
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用组件扫描来自动发现和自动装配DAO对象,我无法复制/粘贴botch.

<context:component-scan base-package="com.example.proj.dao.h2" />
Run Code Online (Sandbox Code Playgroud)

我没有在注释指南中看到如何注释除声明的属性/成员之外的属性/成员.我希望这是我想念的东西. …

java spring annotations ibatis

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

用于合并 pom.xml 文件的 Maven 插件

我们有一个父 Maven 项目(聚合器)和一些子项目:

parent/
  child1/
  child2/
  ...
Run Code Online (Sandbox Code Playgroud)

现在我们想要将该结构转换为一个项目,并且需要将 pom.xml 文件合并在一起。问题在于项目具有非常复杂的 pom.xml 文件,其中包含许多配置(生命周期阶段、平台特定设置、目标等)和长长的依赖项列表。手动合并会很复杂并且容易出错。

有人知道用于合并 pom.xml 文件的 Maven 插件吗?

java maven-2

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

如何减小SHA1的大小?

我有一个问题,也许是一个愚蠢的问题,我想在使用SHA1算法散列后将数据存储在数据库中.但是,在将来的某个时间,数据库中的大小会增加,因为SHA1中的大小字很大.

我们可以减小SHA1算法的大小,可能是一半大小.对不起我的愚蠢问题,以及我糟糕的英语.谢谢.:d

我正在使用JAVA.

java security algorithm sha

5
推荐指数
3
解决办法
2120
查看次数

java属性文件,使用一个键作为另一个键值,这可能吗

我想知道是否有任何方法可以将一个键用作 .properties 文件中另一个键的值。

例如,这是可能的,还是有其他方法可以实现类似的目标?

key = another_key

app.name=Stack Over Flow  
app.title.welcome=Welcome to {app.name} 
Run Code Online (Sandbox Code Playgroud)

所以当我得到app.title.welcome它的价值应该是“ Welcome to Stack Over Flow

java

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

JUnit理论问题

我正在编写一个测试用例,其中我想为一个测试用例运行一个DataPoint,为第二个测试用例运行第二个DataPoint.

@RunWith(Theories.class)
public class DummyTest {

    @DataPoints
    public static String[] getFileNames() {
        return new String[] { "firstFile.txt","firstFile1.txt" };
    }

    @Theory
    public void test1(String fileName) throws Exception {
        System.out.println(fileName);
        assertThat(true, is(equalTo(Boolean.TRUE)));
    }

    @DataPoints
    public static String[] getSecondFileNames() {
        return new String[] { "secondFile.txt","secondFile1.txt" };
    }

    @Theory
    public void test2(String fileName) throws Exception {
        System.out.println(fileName);
        assertThat(true, is(equalTo(Boolean.TRUE)));
    }

}
Run Code Online (Sandbox Code Playgroud)

我希望在第一个测试用例中我的第一个数据点是getFileNames方法,而第二个测试用例则应该调用getSecondFileNames数据点.任何人都可以建议这是可行的吗?

谢谢,
谢卡尔

java junit junit4

3
推荐指数
1
解决办法
813
查看次数

magento显示子类别

嗨,现在我得到所有的分类和子类别.怎么只获得子类别?

<?php foreach ($this->getStoreCategories() as $_category): ?>
    <?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>
Run Code Online (Sandbox Code Playgroud)

php magento

2
推荐指数
1
解决办法
3551
查看次数

如何删除字符串中的最后2个单词?

我有一个包含地址的字符串,我想删除最后2个字的邮政编码.

例如 21 Lane Street London W10 2GH

我想删除'W10 2GH'

java

2
推荐指数
1
解决办法
2886
查看次数

如何修复此编译器警告的原因?

以下代码是生产时我编译它在32位系统的警告: 1087: warning: integer constant is too large for "long" type; 我怎么能解决这个问题所以我没有得到那个警告,它在32位上运行正常?

有效的输入是:

unsigned char str[] = "\x00\x17\x7c\x3a\x67\x4e\xcb\x01";
Run Code Online (Sandbox Code Playgroud)

并且mypow函数返回unsigned long long.

     unsigned long long high, low, nano;
     high = // line 1087
         (str[7]&0xff) * mypow(2,56) +
         (str[6]&0xff) * mypow(2,48) +
         (str[5]&0xff) * mypow(2,40) +
         (str[4]&0xff) * mypow(2, 32);
     low =
         (str[3]&0xff) * mypow(2,24) +
         (str[2]&0xff) * mypow(2,16) +
         (str[1]&0xff) * mypow(2,8) +
         (str[0]&0xff);
     nano = ((high + low)/10000000) - (unsigned long long)11644473600;
     return localtime((time_t*)&nano);
Run Code Online (Sandbox Code Playgroud)

c 32bit-64bit

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

标签 统计

java ×6

32bit-64bit ×1

algorithm ×1

annotations ×1

c ×1

ibatis ×1

junit ×1

junit4 ×1

magento ×1

maven-2 ×1

php ×1

security ×1

sha ×1

spring ×1