小编Pee*_*201的帖子

Spring:如何使用泛型在Spring配置中注入ENUM?

我有一个这样的课:

public class CheckSetFilter<E extends Enum<E>> 
{
   public CheckSetFilter(CheckSetManager<E> pCheckSetManager, E pCheckSetId)
}
Run Code Online (Sandbox Code Playgroud)

我有这个枚举:

public enum StubCheckId
{
   STUBCHECK1, STUBCHECK2
}
Run Code Online (Sandbox Code Playgroud)

我尝试用Spring创建这样一个对象:

<bean id="checkSetFilter" class="com.iba.icomp.core.checks.CheckSetFilter">
   <constructor-arg ref="checkSetManager"/>
   <constructor-arg value="STUBCHECK1"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

它抱怨,它无法从String转换为Enum.我想这是因为通用.它无法知道要创建的枚举类型.我也尝试给它一个类型提示,但没有运气.

java generics spring

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

在同一进程中加载​​同一DLL的2个版本

我想完全按照这里描述的那样做,但是接受的解决方案对我不起作用.我想这里解释的原因是:

如果通过指定完整路径来加载具有依赖项的DLL,则系统将搜索DLL的相关DLL,就好像它们仅使用其模块名称一样加载.

如果已在内存中加载具有相同模块名称的DLL,则系统会在解析到加载的DLL之前仅检查重定向和清单,无论它在哪个目录中.系统不会搜索DLL.

我希望我的应用程序在以下结构中.

c:\Exe
 |
 |----- c:\DLL\DLL.dll, c:\DLL\common.dll 
 |
 |----- c:\DLL2\DLL2.dll, c:\DLL2\common.dll
Run Code Online (Sandbox Code Playgroud)

我的EXE将加载DLL

LoadLibrary("c:\\DLL\\DLL.dll");
LoadLibraryEx("c:\\DLL2\\DLL2.dll");
Run Code Online (Sandbox Code Playgroud)

在两种情况下都隐式加载common.

我尝试了SetDllDirectory选项,但总是只加载了一个common.dll.

我在common.dll中添加了版本信息.c:\ DLL\common.dll的版本为2.0.1.0,而c:\ DLL2\DLL2.dll的版本为4.0.1.0

我使用相应的版本信息嵌入了以下清单,但它没有帮助.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="common" version="4.0.1.0" processorArchitecture="x86"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>
Run Code Online (Sandbox Code Playgroud)

有这个问题的解决方案吗?

c++ dll windows-xp visual-c++

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

Npm package.json继承

npm中是否有一种机制像Maven中的parent pom。目标是为脚本,依赖项,devDependencies提供通用的基本配置。不是基于像yeeoman之类的模板,而是基于父版本。这样,任何更改其父版本的项目都会自动获得该父版本中的更改。

您能指出实现此目标的提示吗?

谢谢!

package maven npm

7
推荐指数
2
解决办法
5470
查看次数

Spring JUnit ApplicationContextInitializer参数

我们已经实现了扩展的.properties格式.这样的属性文件可以包含可选的include属性.此属性的值是要递归加载的其他属性文件的类路径.

我可以为我的应用程序配置Spring环境,但是我有一个问题就是使用这个机制SpringJUnit4ClassRunner.

我以为我可以使用注释的initializer属性,ContextConfiguration但它看起来只能使用no-arg构造函数进行实例化.

我需要给它我的属性文件层次结构的根文件.它最终可能是我的测试类的另一个注释,但同样,我如何访问它?

我到目前为止唯一的想法是将此文件设置为我的测试类静态初始化程序中的系统属性.丑陋?:

@ActiveProfiles("qacs.controller.channels=mock")
@ContextConfiguration(initializer=ContainerTestContextInitializer.class)
public class QacsControllerTest 
{
   static
   {
      System.setProperty(ContainerTestContextInitializer.SYSTEM_PROPERTY, "classpath:com/xxx/qacs/QacsControllerTest.properties");
   }
   @Test
   void test() {}
   }
}

public class ContainerTestContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext>
{
   public static final String SYSTEM_PROPERTY = "icomp.test.properties";
   @Override
   public void initialize(ConfigurableApplicationContext pApplicationContext)
   {
      String path = System.getProperty(SYSTEM_PROPERTY);
      if (path == null)
      {
         throw new IllegalStateException("Missing system property " + SYSTEM_PROPERTY);
      }

      final DefaultPropertiesLoader loader;
      loader = new DefaultPropertiesLoader(System.getProperties());
      try
      {
         loader.load(path);
      }
      catch (IOException e)
      { …
Run Code Online (Sandbox Code Playgroud)

java environment junit spring

6
推荐指数
0
解决办法
1592
查看次数

在流中包含向量<unsigned char>吗?

我有一个函数,它将std :: istream&作为参数,并将转换后的流写入std :: ostream&.

另一方面,我有另一个接受vector参数的函数.

我的目标是将第一个函数的输出传递给第二个函数.

是否有开箱即用的东西?否则,我该如何轻松实现它?

谢谢

编辑:这里有2个功能签名:

functionA(std::istream& _in, std::ostream& _out);
functionB(std::vector<unsigned char>& data);
Run Code Online (Sandbox Code Playgroud)

来电者看起来像:

std::vector<unsigned char> data;
std::istrstream stream_in("input message");
std::ovectorstream stream_out(data); // ???
functionA(stream_in, stream_out);
functionB(stream_out.vector());
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

使用管道进行角度变化检测

我对变更检测和管道有疑问。我找不到解决这个问题的好方法。

我创建了一个小项目来在这里重现它。转到 /monitor 路线。

当您单击“更改”按钮时,它会更改数组中第一项的值,但 UI 不会更新。

如果我在更改处理程序中重新创建另一个对象,它会起作用

this.state[0] = Object.assign({}, this.state[0], { value: 999.99 });
Run Code Online (Sandbox Code Playgroud)

但我不想那样做。我需要保留相同的对象引用。

问题来自于vital-value.component.html中的管道

{{ _vitalValue | vitalFormat }}
Run Code Online (Sandbox Code Playgroud)

如果我使用它,它会起作用

{{ _vitalValue.value }}
Run Code Online (Sandbox Code Playgroud)

有没有办法保留管道但使刷新发生?

谢谢!

angular2-changedetection angular-pipe angular

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

将格式规则应用于整个eclipse工作空间

因此,我们正在我们的代码库中集成另一个项目.它不符合我们的格式规则.我在配置保存后进行了自动格式化.所以,我可以转到每个文件并再次保存,但有没有办法编写Eclipse脚本,以便它将格式规则应用于我工作区中的每个文件?

java eclipse code-formatting

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

实现返回泛型类型的接口

我看到了这些:

我明白为什么编译器会抱怨.

无论如何,如果我们只使用泛型作为返回值.

public interface Connection 
{
   <T extends Comparable<? super T>> T getVersion();
}
Run Code Online (Sandbox Code Playgroud)

然后这个实现只给出一个警告(我使用的是Java 7):

public class IoConnectionStub implements Connection
{
   public String getVersion()
   {
      return "1.0";
   }
}
Run Code Online (Sandbox Code Playgroud)

这有效吗?或者会引起一些问题吗?

谢谢 !

java generics

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