SpringBoot如何读取xml配置bean(@ImportResource)
作者:上官天夜 发布时间:2021-08-03 22:33:44
标签:SpringBoot,xml,bean,@ImportResource
读取xml配置bean(@ImportResource)
1、应用场景
旧框架SSM项目移行到SpringBoot中,xml配置文件很齐全,就可以省去配置的麻烦,直接读取旧xml文件
2、spring-common.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="msgService" class="com.zemel.micorboot.service.impl.MessageServiceImpl"></bean>
</beans>
3、SpringBoot读取xml
package com.zemel.micorboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
/**
* Hello world!
*
*/
@SpringBootApplication
@ImportResource(locations={"classpath:xml/spring-common.xml"})
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
4、应用xml中的bean对象
package com.zemel.micorboot.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zemel.micorboot.base.AbstractBaseController;
import com.zemel.micorboot.service.MessageService;
@RestController
public class MessageController extends AbstractBaseController {
@Autowired
private MessageService messageService;
@GetMapping("/echo")
public String echo(String mid){
System.out.println("[***访问地址***]"+super.getMessage("member.add.action"));
return super.getMessage("welcome.msg", mid);
}
public String msg(){
return (messageService.getMessage());
}
}
5、Service类
package com.zemel.micorboot.service;
public interface MessageService {
String getMessage();
}
package com.zemel.micorboot.service.impl;
import com.zemel.micorboot.service.MessageService;
public class MessageServiceImpl implements MessageService{
@Override
public String getMessage() {
return "my message...";
}
}
6、测试
package com.zemel.micorboot.controller;
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 com.zemel.micorboot.App;
@SpringBootTest(classes=App.class)
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class MessageControllerTest {
@Resource
private MessageController mc;
@Test
public void testEcho() {
System.out.println(this.mc.echo("mldnjava"));
}
@Test
public void testMsg(){
System.out.println(this.mc.msg());
}
}
读取配置文件中的参数
springBoot是java开发中会经常用到的框架,那么在实际项目中项目配置了springBoot框架,应该如何在项目中读取配置文件中的参数呢?
1、打开eclipse开发工具软件
2、在项目中确保pom.xml文件已引用
【spring-boot-starter-web】jar包。
因为springBoot启动的时候会自动去获取项目中在resources文件录目下的名为application.properties参数配置文件。
3、在项目中的src/main/resource文件录目下
创建application.properties参数配置文件。
4、在application.properties配置文件中添加对应的参数
5、此时在项目启动的时候
springBoot容器就会自动的将application.properties配置文件的配置信息自动的加入在spring容器中。
6、在需要使用的配置参数信息的类中
只要通过spring注解@Value("${xxx}")的方法注入到全局变量中即可读取配置文件中的参数。
来源:https://blog.csdn.net/zhangminemail/article/details/83419007


猜你喜欢
- 前言纸上得来终觉浅,绝知此事要躬行一.会话引入什么是会话?会话用来识别不同的客户端,客户端和服务器之间发生的一系列连续的请求和响应的过程,当
- WebView2简介概述WebView2 全称 Microsoft Edge WebView2 控件,此控件的作用是在本机桌面应用中嵌入we
- 本文实例讲述了Android基于TextView实现的跑马灯效果。分享给大家供大家参考,具体如下:package sweet.venst.a
- 1.创建一个带Mesh的物体Unity中的网格作为组件不能脱离物体单独存在新建脚本CreateMeshpublic class Create
- 比如定义了一个错误的枚举类型public enum eErrorDetailCode : int &nbs
- 标识符Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符技巧:凡是自己可以起名字的地方都叫标识符定义合法标识符规则:由26个
- 目录概述语法索引器(Indexer)的用途重载索引器(Indexer)概述索引器(Indexer) 允许一个对象可以像数组一样使用下标的方式
- android获取ibeacon列表,供大家参考,具体内容如下最近公司有需要做ibeacon需求。因为涉及扫码的时间。特意写一个servic
- mybatis项目CRUD步骤1.pom.xml引入相应的依赖<?xml version="1.0" encodi
- 1、完美1比1 仿照微信仿微信发动态 九宫格拖拽、删除暴力拖拽ui有点问题,不影响使用,资源文件自己找个+号2、微信发动态拖拽bug当选择完
- 背景在很多时候我们代码中的一些逻辑操作并不能够硬编码到代码中,我们可能希望通过配置来完成这个操作,所以这个时候我们就需要有一些脚本语言能够处
- Android 注解Annotation相关文章:Android AOP注解Annotation详解(一)Android AOP之注解处理解
- 本文实例讲述了C#编程读取文档Doc、Docx及Pdf内容的方法。分享给大家供大家参考。具体分析如下:Doc文档:Microsoft Wor
- 本文实例讲述了Java对XML文件增删改查操作。分享给大家供大家参考,具体如下:xml文件:<?xml version="1
- 1. JVM 运行时数据区JVM运行时数据区可以分为元空间,堆,虚拟机栈,本地方法栈,程序计数器五大块。元空间(方法区):存放类模版对象,是
- 发现问题在C#连接SQL Server时,明明添加了引用using System.Data.SqlClient;却出现了下面这种情况:原因:
- 本文实例讲述了Java抽象类和抽象方法定义与用法。分享给大家供大家参考,具体如下:一、Java抽象类参考资料:Java抽象类 详解1、抽象类
- 本文实例讲述了Android编程中自定义dialog用法。分享给大家供大家参考,具体如下:dialog是android中提供的一组弹出提示框
- 前言:由于最近有解析协议的一些业务场景,需要用到一些字节操作工具,这里封装了一些比较常用的转换方法,测试后基本没有问题,可能一些比较偏门的数
- 目录栈溢出(虚拟机栈和本地方法栈)产生原因解决思路堆溢出产生原因解决思路方法区和运行时常量池溢出产生原因解决思路本机直接内存溢出产生原因解决