小编nod*_*dje的帖子

如何将Spring @Autowired必需属性变为false进行测试?

到目前为止,我一直在使用@Required注释来确保在Spring配置的应用程序中对我的bean进行DI.

要启用注释,需要在配置中声明RequiredAnnotationBeanPostProcessor bean.

在您的测试配置中,您只是不要声明它,因此如果不需要某些bean,您不必在配置中使用它们.

我想切换到更少的XML并使用@Autowired注释,但默认情况下需要= true,这对于运行时配置来说很好.

但我需要@Autowired才需要= false仅用于测试目的 - 同时保持运行时所需.

这有可能吗?我找不到以声明方式将required属性设置为false的方法.

干杯

java testing spring dependency-injection

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

覆盖给定执行ID的Maven插件目标定义

似乎无法覆盖插件执行的目标定义.

假设我有一个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中的新行为吗?

反正是否有一种压倒一切的行为而不是当前行为?

configuration plugins maven

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