到目前为止,我一直在使用@Required注释来确保在Spring配置的应用程序中对我的bean进行DI.
要启用注释,需要在配置中声明RequiredAnnotationBeanPostProcessor bean.
在您的测试配置中,您只是不要声明它,因此如果不需要某些bean,您不必在配置中使用它们.
我想切换到更少的XML并使用@Autowired注释,但默认情况下需要= true,这对于运行时配置来说很好.
但我需要@Autowired才需要= false仅用于测试目的 - 同时保持运行时所需.
这有可能吗?我找不到以声明方式将required属性设置为false的方法.
干杯
似乎无法覆盖插件执行的目标定义.
假设我有一个Jetty的父配置,它定义了一个
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
Run Code Online (Sandbox Code Playgroud)
现在我想在一个特定项目的本地目标运行爆炸
如果我尝试用本地项目覆盖父定义
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
</execution>
Run Code Online (Sandbox Code Playgroud)
然后我有效的pom变成了
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
<goal>run-exploded</goal>
</goals>
</execution>
Run Code Online (Sandbox Code Playgroud)
我很惊讶,因为我一直以为它会覆盖.
这是Maven3中的新行为吗?
反正是否有一种压倒一切的行为而不是当前行为?