Java web项目创建笔记22 之《获取资源文件内容》

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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值