springboot 两个src_第三章:SpringBoot配置深入-2. 读取资源文件

源码下载:https://u11556602.ctfile.com/fs/11556602-361219278

https://download.csdn.net/download/qq_36267875/11089023

在实际的项目开发之中资源文件一定不可或缺,因为所有的提示文字信息都要求在资源文件之中进行定义,而且资源文件是实现国际化技术的主要手段。如果要想在springboot里面进行资源文件的配置只需要做一些简单的application.yml配置即可,而且所有注入的资源文件都可以像最初的spring处理那样直接使用MessageSource进行读取。

1.为了统一管理资源文件,在“src/main/resources”目录之中建立有一个i18n的存储目录

2.在“src/main/resources/i18n” 目录之中建立有两个资源文件:

建立Messages.properties:

welcome.url=www.mldn.com

welcome.msg=欢迎{0}光临!

建立Pages.properties配置文件:

member.add.page=/pages/back/admin/member/member_add.jsp

member.add.action=/pages/back/admin/member/member_add.action

3.修改application.yml配置文件

spring: # 表示该配置直接为Spring容器负责处理

messages: # 表示进行资源配置

basename: i18n/Messages,i18n/Pages # 资源文件的名称

server:

port: 80 # 此处设置的服务的访问端口配置

4.当执行完以上的配置之后会自动为用户创建MessageSource对象,那么用户在使用的时候直接注入此对象即可。

考虑到实际开发的标准性,所以现在建议创建一个父的控制器的抽象类;AbstractBaseController,在此抽象类之中进行我们资源读取类的配置

package cn.mldn.microboot.util.controller;

import java.util.Locale;

import javax.annotation.Resource;

import org.springframework.context.MessageSource;

public abstract class AbstractBaseController {

@Resource

private MessageSource messageSource; //自动注入此资源对象

public String getMessage(String key, String... args) {

return this.messageSource.getMessage(key, args, Locale.getDefault());

}

}

5.在控制器的子类之中读取控制器的配置信息

package cn.mldn.microboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RestController;

import cn.mldn.microboot.util.controller.AbstractBaseController;

@RestController

public class MessageController extends AbstractBaseController{

@RequestMapping(value="/echo",method=RequestMethod.GET)

public String echo(String mid) {

System.out.println("【==访问地址==】"+super.getMessage("member.add.action"));

return super.getMessage("welcome.msg", mid);

}

}

6.编写一个junit测试类,来测试以上的控制器程序是否正确

package cn.mldn.microboot.test;

import javax.annotation.Resource;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import org.springframework.test.context.web.WebAppConfiguration;

import cn.mldn.microboot.StartSpringBootMain;

import cn.mldn.microboot.controller.MessageController;

@SpringBootTest(classes = StartSpringBootMain.class)

@RunWith(SpringJUnit4ClassRunner.class)

@WebAppConfiguration

public class TestMessageController {

@Resource

private MessageController messageController;

@Test

public void testEcho() {

System.out.println(this.messageController.echo("mldnjava"));

}

}

【==访问地址==】/pages/back/admin/member/member_add.action

欢迎mldnjava光临!

2019-04-07 15:02:32.995 INFO 8308 --- [ Thread-3] o.s.w.c.s.GenericWebApplicationContext : Closing org.springframework.web.context.support.GenericWebApplicationContext@1e6454ec: startup date [Sun Apr 07 15:02:31 CST 2019]; root of context hierarchy

通过springboot执行可以清楚的发现,在springboot里面所有对象信息的注入配置操作,都直接通过一行简单的字符串实现了,而且最终也能够保持与之前同样的运行效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值