添加属性文件
resource.properties
文件内容
HTML_OUT_PATH=D:/temp/java/item/
加载属性文件
springmvc.xml
<!-- 加载属性文件 -->
<context:property-placeholder location="classpath:resource/resource.properties"/>
获取属性
@Value(“${HTML_OUT_PATH}”)
private String HTML_OUT_PATH;
public class ItemAddMesssageListener implements MessageListener {
@Autowired
private ItemService itemService;
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;
@Value("${HTML_OUT_PATH}")
private String HTML_OUT_PATH;
@Override
public void onMessage(Message message) {
try {
//从消息中取商品id
TextMessage textMessage = (TextMessage) message;
String strId = textMessage.getText();
Long itemId = Long.parseLong(strId);
//等待事务提交
Thread.sleep(1000);
//根据商品id查询商品信息及商品描述
TbItem tbItem = itemService.getItemById(itemId);
Item item = new Item(tbItem);
TbItemDesc itemDesc = itemService.getItemDescById(itemId);
//使用freemarker生成静态页面
Configuration configuration = freeMarkerConfigurer.getConfiguration();
//1.创建模板
//2.加载模板对象
Template template = configuration.getTemplate("item.ftl");
//3.准备模板需要的数据
Map data = new HashMap<>();
data.put("item", item);
data.put("itemDesc", itemDesc);
//4.指定输出的目录及文件名
Writer out = new FileWriter(new File(HTML_OUT_PATH + strId + ".html"));
//5.生成静态页面
template.process(data, out);
//关闭流
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}