1、在webapp2_web模块src/main/resources下添加spring-message.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 资源加载 -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="useCodeAsDefaultMessage" value="true" />
<property name="basenames">
<array>
<value>classpath:/env/message</value>
</array>
</property>
<property name="defaultEncoding" value="UTF-8" />
</bean>
<!-- 资源访问器 -->
<bean id="msa" class="com.study.base.common.MessageSourceAccessor">
<constructor-arg>
<ref bean="messageSource" />
</constructor-arg>
</bean>
</beans>
2、在webapp2_base模块添加MessageSourceAccessor.java
package com.study.base.common;
import org.springframework.context.MessageSource;
public class MessageSourceAccessor {
MessageSource messageSource;
public MessageSourceAccessor(MessageSource messageSource) {
this.messageSource = messageSource;
}
public String getMessage(String key, Object... params) {
return messageSource.getMessage(key, params, null);
}
}
3、在applicationContext.xml增加引用
<import resource="classpath:/spring-message.xml"/>
4、在webapp2_base模块Constants.java添加常量
package com.study.base.common;
public class Constants {
/** sessionid常量 **/
public static String SESSION_ID = "sessionId";
/** 日志逻辑ID **/
public static String LOG_ID = "logId";
/** 日志逻辑ID **/
public static String BIZ_ID = "bizId";
/**
* 处理成功
*/
public static final String SUCCESS = "000000";
/**
* 处理异常
*/
public static final String FAILURE = "999999";
public static final String E000001 = "000001";
public static final String E000002 = "000002";
public static final String E000003 = "000003";
}
5、在webapp2_web模块src/main/resources/env下添加message.properties
#系统响应码
000000=成功
999999=失败
000001=测试错误码1
000002=测试错误码2
000003=测试{0}{1}
6、添加测试类MessageTest.java
package webapp;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import com.study.base.common.Constants;
import com.study.base.common.MessageSourceAccessor;
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations = { "classpath:applicationContext.xml", "classpath:spring-mvc.xml" })
@ActiveProfiles("dev")
public class MessageTest {
@Autowired
private MessageSourceAccessor msAccessor;
@Test
public void testMessage() {
String error1 = msAccessor.getMessage(Constants.E000001);
System.out.println("msg: " + error1);
String error2 = msAccessor.getMessage(Constants.E000003, "错误码", "03");
System.out.println("msg: " + error2);
}
}
7、执行测试方法testMessage
msg: 测试错误码1
msg: 测试错误码03
注:最新代码上传至https://github.com/csj50/webapp2.git