Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于Spring';s@Autowired和Wicket';斯普林比恩酒店_Spring_Annotations_Wicket - Fatal编程技术网

关于Spring';s@Autowired和Wicket';斯普林比恩酒店

关于Spring';s@Autowired和Wicket';斯普林比恩酒店,spring,annotations,wicket,Spring,Annotations,Wicket,我目前正在研究将Mockito和JUnit集成到我的Wicket/Spring/Hibernate项目中,并找到了一个关于如何使用注释实现这一点的教程 问题是我不熟悉@Autowired,在谷歌上看了一眼后,我发现很难看出这个注释和@SpringBean注释之间的区别 他们是一个在同一个或有差异,我应该知道吗 我的代码为这个问题提供了一些上下文: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {

我目前正在研究将Mockito和JUnit集成到我的Wicket/Spring/Hibernate项目中,并找到了一个关于如何使用注释实现这一点的教程

问题是我不熟悉@Autowired,在谷歌上看了一眼后,我发现很难看出这个注释和@SpringBean注释之间的区别

他们是一个在同一个或有差异,我应该知道吗

我的代码为这个问题提供了一些上下文:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
@TransactionConfiguration(transactionManager = "txManager", defaultRollback = false) 
public class TestHome
{
private WicketTester tester;

@Autowired
private ApplicationContext ctx;

@Autowired
private WebApplication webApplication;

@Before
public void setUp() {
    tester = new WicketTester(webApplication);
}

@Test
@Transactional
@Rollback(true)
public void testRenderHomePage() {
    tester.startPage(Home.class);
    tester.assertRenderedPage(Home.class);
    tester.assertComponent("home", Home.class);
}

}

如果您使用Wicket SpringComponentInjector,它将使用自己的注入。@Autowired注释是Springframework注释,但Wicket SpringComponentInjector忽略了这一点。所以Wicket注释是@SpringBean,它标记了一个字段,该字段由SpringBean或必须存在于Spring上下文中的组件自动连接(注入)

在您的代码片段中,您使用了SpringJUnit4ClassRunner,因此您的字段由Spring注入,因此它是正确的

请参见一个示例,如何在中使用SpringComponentInjector