欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot如何读取xml配置bean(@ImportResource)

程序员文章站 2022-06-16 14:40:44
目录读取xml配置bean(@importresource)1、应用场景2、spring-common.xml3、springboot读取xml4、应用xml中的bean对象5、service类6、测...

读取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开发工具软件

SpringBoot如何读取xml配置bean(@ImportResource)

2、在项目中确保pom.xml文件已引用

【spring-boot-starter-web】jar包。

因为springboot启动的时候会自动去获取项目中在resources文件录目下的名为application.properties参数配置文件。

SpringBoot如何读取xml配置bean(@ImportResource)

3、在项目中的src/main/resource文件录目下

创建application.properties参数配置文件。

SpringBoot如何读取xml配置bean(@ImportResource)

4、在application.properties配置文件中添加对应的参数

SpringBoot如何读取xml配置bean(@ImportResource)

5、此时在项目启动的时候

springboot容器就会自动的将application.properties配置文件的配置信息自动的加入在spring容器中。

SpringBoot如何读取xml配置bean(@ImportResource)

6、在需要使用的配置参数信息的类中

只要通过spring注解@value("${xxx}")的方法注入到全局变量中即可读取配置文件中的参数。

SpringBoot如何读取xml配置bean(@ImportResource)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。