Spring Boot 中加载XML配置

java1234

共 1794字,需浏览 4分钟

 ·

2020-09-06 15:34

点击上方蓝色字体,选择“标星公众号”

优质文章,第一时间送达

  作者 |  cainame 

来源 |  urlify.cn/7Jn6jm

66套java从入门到精通实战课程分享 

一、开篇

在SpringBoot中我们通常都是基于注解来开发的,实话说其实这个功能比较鸡肋,但是,SpringBoot中还是能做到的。所以用不用是一回事,会不会又是另外一回事。
涛锅锅在个人能力能掌握的范围之内,一般是会得越多越好,都是细小的积累,发生质的改变,所以今天和小伙伴们一起分享一下。


二、实践

1.首先我们新建一个SpringBoot Project ,工程名为 xml

2.添加web依赖,点击Finish完成构建

3.我们新建一个类 SayHello 不做任何配置

package org.taoguoguo;

/**
 * @author powersi
 * @description SayHello
 * @website https://www.cnblogs.com/doondo
 * @create 2020-09-02 13:23
 */

public class SayHello {

    public String sayHello(){
        return "hello xml";
    }
}

4.然后在项目的resources目录下,新建一个bean.xml,配置 Say Hello 的实体Bean

xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


    <bean id="sayHello" class="org.taoguoguo.SayHello" />

beans>

5.在工程中创建WebMvcConfig,并声明为一个配置类,通过配置类加载 xml 配置文件

package org.taoguoguo;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

/**
 * @author powersi
 * @description taoguoguo
 * @website https://www.cnblogs.com/doondo
 * @create 2020-09-02 13:25
 */

@ImportResource(locations = "classpath:bean.xml")
@Configuration
public class WebMvcConfig {
}

    6.单元测试

package org.taoguoguo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class XmlApplicationTests {

    @Autowired
    SayHello sayHello;

    @Test
    void contextLoads() {
        System.out.println(sayHello.sayHello());
    }

}

运行测试方法 成功读取到xml中的配置Bean

三、解读

     当我们实践完以后我们看一下 ImportResource 这个注解,实质上里面是一个             BeanDefinitionReader的接口,而在Spring中这个接口的作用就是读取xml

四、总结

另外@ImportResource 这个注解实质上是在包spring-context中的,所以即使项目不是SpringBoot也能使用,当我们使用Java纯配置SSM时,同理可用



粉丝福利:108本java从入门到大神精选电子书领取

???

?长按上方锋哥微信二维码 2 秒
备注「1234」即可获取资料以及
可以进入java1234官方微信群



感谢点赞支持下哈 


浏览 54
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报