SpringBoot读取配置文件

2021-01-29  本文已影响0人  Wannay

1.使用@ConfigurationProperties并加入前缀,并使用@Component将其注册在Spring容器中。

1.1编写Bean

package com.wanna.springboot.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "user")
public class UserBean {
    int id;
    String username;
    String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserBean{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

1.2yaml配置文件/properties配置文件(均可)

user:
  id: 123
  username: wanna
  password: 123456
user.id=1
user.username=wanna
user.password=123456

2.使用@ConfigurationProperties注解并加入前缀并且在配置类上加入@EnableConfigurationProperties(UserBean.class)注解

2.1 配置类

package com.wanna.springboot.config;

import com.wanna.springboot.bean.UserBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableConfigurationProperties(UserBean.class)
public class MyConfig {
}

2.2 Bean

package com.wanna.springboot.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

//@Component
@ConfigurationProperties(prefix = "userbean")
public class UserBean {
    int id;
    String username;
    String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserBean{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

2.3 配置文件和1中一样

3.读取Spring的xml配置文件,使用@ImportResources

3.1 Spring的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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userBean" class="com.wanna.springboot.bean.UserBean">
        <property name="id" value="2"/>
        <property name="username" value="wanna"/>
        <property name="password" value="1234567"/>
    </bean>
</beans>

3.2 Bean(头上没有注解)

package com.wanna.springboot.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

public class UserBean {
    int id;
    String username;
    String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserBean{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

3.3 配置类

package com.wanna.springboot.config;

import com.wanna.springboot.bean.UserBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

@Configuration
@ImportResource("classpath:ApplicationContext.xml")
public class MyConfig {
}

上一篇 下一篇

猜你喜欢

热点阅读