我是SO的新手,我已经开始根据环境加载环境配置和属性的任务(如dev,prod,test),我已经使用{{1}成功实现了DAO级别的数据库配置}}。在前端,我必须根据环境获取属性文件,所以我有不同的文件。打电话给我,我尝试了下面的代码:
<beans profile="profile.name">
我的context.xml配置:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class PropertiesUtility {
@Value("${mount.images.webpath}")
private String imagePath;
public String getImagePath() {
return imagePath;
}
public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
@Override
public String toString() {
return "PropertiesUtility{" +
"imagePath='" + imagePath + '\'' +
'}';
}
}
调用PropertiesUtility:
<context:annotation-config/>
<beans profile="dev">
<context:property-placeholder location="classpath:properties/pharmisa_web_conf.properties"
ignore-unresolvable="true" />
</beans>
<beans profile="test">
<context:property-placeholder location="classpath:properties/pharmisa_web_test_conf.properties"
ignore-unresolvable="true" />
</beans>
SpringJunitTest
测试工作完美
public class URLUtility {
@SpringBean //even @Autowired also not working
static PropertiesUtility propertiesUtility;
public static String getCompanyLogoUrl(int id) {
StringBuffer sb = new StringBuffer(getImagePath());
boolean isEndWithSlash=PharmisaStringUtils.endsWith(getImagePath(),"/");
if (!isEndWithSlash){
sb.append("/");
}
sb.append(id);
sb.append("/");
return sb.toString();
}
private static final String getImagePath() {
return propertiesUtility.getImagePath().trim();
}
}
当我试图在wicket页面中注入PropertiesUtility类时。我没有得到属性的值。因为它没有注射。我知道wicket中的@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/pharmisa_web-context.xml"})
@ActiveProfiles(profiles = "test")
public class CompanyServiceImplTest {
@Autowired
PropertiesUtility propertiUtility;
@Test
public void testAppProperties() {
System.out.println(propertiUtility.getImagePath());
}
}
,但即使它不起作用。
无论如何都要获得任何替代欢迎的价值。
为了您的进一步,我已经按照链接
答案 0 :(得分:0)
10.10.2015
或URLUtility
正常工作, @Component
应该是一个Spring bean。
@Autowire
仅在Wicket组件中自动运行。在任何其他事情你需要注射#34;明确地使用@SrpingBean
。