自学内容网 自学内容网

springboot获取配置文件中的值

概括

在开发过程中,对于一些通用的配置,通常会定在一个配置文件中。通常为application.properties或者application.yml文件中。我们只需要在需要使用的地方通过注解直接获取即可。

使用

在springboot中可以通过使用@value注解来读取配置文件中的属性。注解的引用一定要是springframework提供的注解,不要引入错误。例如下面的代码

import org.springframework.beans.factory.annotation.Value;
@Value("$server.port:")
private  String port;

即可获取到配置文件中定义的server.port设置属性值了。方便我们开发中使用。

优化

因为有些时候可能需要很多属性值,每次都需要引入过于麻烦,所以可以通过定义个类来专门存放这些属性,再设置get方法来获取值。

这样就可以在只引入一次就可以获取到各个配置的信息。注意在设置类的时候,只提供get方法,不要提供set方法。这样可以保证数据的安全性。参考代码如下所示。

package com.easyjob.entity.appconfig;
import org.springframework.beans.factory.annotation.Value;

public class Appconfig {
    @Value("server.port")
    private String port;

    @Value("project.folder")
    private String folder;

    @Value("spring.datasource.username")
    private String username;

    @Value("spring.datasource.password")
    private String password;

    public String getPort() {
        return port;
    }

    public String getFolder() {
        return folder;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }
}

在需要使用的地方直接引入即可,如下所示:


    @Resource
    private Appconfig appconfig;
 public PaginationResultVO<Account> findListByPage(AccountQuery query) {
        String folder = appconfig.getFolder();
        Integer count = this.findCountByParam(query);
        Integer pageSize = query.getPageSize() == null ? PageSize.SIZE15.getSize() : query.getPageSize();
        SimplePage page = new SimplePage(query.getPageNo(), count, pageSize);
        query.setSimplePage(page);
        List<Account> list = this.findListByParam(query);
        PaginationResultVO result = new PaginationResultVO(count, page.getPageSize(), page.getPageNo(), page.getPageTotal(), list);
        return result;
    }

原文地址:https://blog.csdn.net/weixin_44315397/article/details/144042083

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!