参考URL: http://forum.spring.io/forum/spring-projects/container/104173-runwith-componentscan-does-not-work
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes={AppConfig.class})
public abstract class BaseTestClass extends AbstractJUnit4SpringContextTests {
}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.client.RestTemplate;
@Configuration
@ComponentScan(basePackages = "com.accenture", excludeFilters = @Filter(type = FilterType.ANNOTATION, value = Configuration.class))
public class AppConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.accenture.dataexchange.api.client.DataExchangeClientService;
public class AppTest extends BaseTestClass {
@Autowired
private DataExchangeClientService service;
@Test
public void test() {
System.out.println("hello");
}
}
如果有数据库操作 参照下面的 配置
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes={AppConfig.class, DataSourceConfig.class})
@TransactionConfiguration(transactionManager = "txManager")
public abstract class BaseTestClass extends AbstractTransactionalJUnit4SpringContextTests {
}