您现在的位置是:首页 > 编程 > 

【Spring Boot】024

2025-07-27 18:00:09
【Spring Boot】024 【Spring Boot】024-使用配置文件内属性值的三种方式一、@Value 注解参考文章【Spring Boot】004-给属性赋值的几种方式【Spring】006-Spring注解开发二、松散绑定参考文章【Spring Boot】004-给属性赋值的几种方式【Spring Boot】005-yaml松散绑定和JSR0数据校验三、使用 Environme

【Spring Boot】024

【Spring Boot】024-使用配置文件内属性值的三种方式一、@Value 注解

参考文章

【Spring Boot】004-给属性赋值的几种方式

【Spring】006-Spring注解开发

二、松散绑定

参考文章

【Spring Boot】004-给属性赋值的几种方式

【Spring Boot】005-yaml松散绑定和JSR0数据校验

三、使用 EnvironmentAware 接口

1、前言

凡注册到 Spring容器内 的bean,实现了 EnvironmentAware 接口重写 setEnvironment 方法后,在工程启动时可以获得application.properties配置文件 配置的属性值。

2、代码演示

application.properties 配置文件
代码语言:javascript代码运行次数:0运行复制
=訾博
EnvironmentAwareImpl 类

实现 EnvironmentAware 接口,重写 setEnvironment 方法

代码语言:javascript代码运行次数:0运行复制
package com.zibo.api.study;

import org.EnvironmentAware;
import org.annotation.Configuration;
import org.Environment;

@Configuration
public class EnvironmentAwareImpl implements EnvironmentAware {
    @Override
    public void setEnvironment(Environment environment) {
        String ziboame = environment.getProperty("");
        println("ziboame is " + ziboame);
    }
}

、启动项目

image-20210816115659465

4、解决中文乱码问题

说明

此问题网上的解决方案很多,都没有什么用!我把中文改成英文之后运行,就能正常显示出英文!再把英文改成中文之后运行,中文也能正常显示了!真是奇哉怪也!

运行结果
image-202108161442861

5、具体应用

MySQL数据源配置
代码语言:javascript代码运行次数:0运行复制
datasource.driverClassame=jdbc.Driver
datasource.url=jdbc:mysql://XXX:06/api?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.username=root
datasource.password=12456
配置类代码示例

下面代码摘取自,未真正演示,仅作参考!

代码语言:javascript代码运行次数:0运行复制
@Configuration
public class MyBatisConfig implements EnvironmentAware {
    private Environment environment;

    @Override
    public void setEnvironment(Environment environment) {
         = environment;
    }

    /**
     * 创建数据源(数据源的名称:方法名可以取为XXXDataSource(),XXX为数据库名称,该名称也就是数据源的名称)
     */
    @Bean
    public DataSource druidDataSource() throws Exception {
        Properties props = new Properties();
        props.put("driverClassame", environment.getProperty("datasource.driverClassame"));
        props.put("url", environment.getProperty("datasource.url"));
        props.put("username", environment.getProperty("datasource.username"));
        props.put("password", environment.getProperty("datasource.password"));
        return (props);
    }

    /**
     * 根据数据源创建SqlSessionFactory
     */
    @Bean
    public SqlSessionFactory sqlSessionFactory() throws Exception {
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        SqlSessionFactoryBean fb = new SqlSessionFactoryBean();
        // 指定数据源(这个必须有,否则报错)
        fb.setDataSource(druidDataSource());
        fb.setTypeAliasesPackage("pushService.dal.domain");
        // 指定mapper文件 fb.setMapperLocati(resolver.getResources("classpath:mapper/*.xml"));
        return fb.getObject();
    }

}
四、其他

参考文章:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-05-10,如有侵权请联系 cloudcommunity@tencent 删除配置注解springboot接口

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1198723.html

相关标签:无
上传时间: 2025-07-23 12:37:10

上一篇:【Spring Boot】025

下一篇:【SpringMVC】010

留言与评论(共有 5 条评论)
本站网友 最权威的整形美容医院
17分钟前 发表
environment.getProperty("datasource.url")); props.put("username"
本站网友 惠州平安山
28分钟前 发表
mysql
本站网友 qq号昵称
18分钟前 发表
mysql
本站网友 成了
26分钟前 发表
environment.getProperty("datasource.username")); props.put("password"