我试过了:
@RunWith(SpringJUnit4ClassRunner.class)
@EnableAutoConfiguration(exclude=CrshAutoConfiguration.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
public class LikeControllerTest {
Run Code Online (Sandbox Code Playgroud)
然而,CRaSSHD仍然启动.虽然目前它不会损害测试,但我想在单元测试期间禁用不必要的模块以加快速度并避免潜在的冲突.
有谁知道我是否应该使用属性占位符作为限定符中的表达式?我似乎无法让这个工作.
我使用的是Spring 3.0.4.
@Controller
public class MyController {
@Autowired
@Qualifier("${service.class}")
Service service;
}
@Service
@Qualifier("ServiceA")
ServiceA implements Service {
public void print() {
System.out.println("printing ServiceA.print()");
}
}
@Service
@Qualifier("ServiceB")
ServiceB implements Service {
public void print() {
System.out.println("printing ServiceB.print()");
}
}
Run Code Online (Sandbox Code Playgroud)
XML:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:/etc/config.properties"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
config.properties:
config.properties
service.class=serviceB
Run Code Online (Sandbox Code Playgroud)