EnvironmentAware接口的作用

article/2025/9/5 0:51:42

在SpringBoot中的应用

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

demo演示

直接上代码,比如我的application.properties文件有如下配置(这里说明一下SpringBoot应用默认的配置文件名就叫做application.properties,可以直接放在当前项目的根目录下,或者一个名叫config的子目录下)
这里写图片描述
再建一个类实现EnvironmentAware接口,其中@Configuration注解在SpringBoot里面相当于Spring的XML文件里的beans标签一样,而@Bean注解相当于XML文件里的bean标签,代表该类会被加载到Spring的IOC容器内。具体代码如下

 /*** * * @ClassName MyProjectc.java* @author 沉鱼* @date 2017年11月28日 下午4:35:39*/@Configurationpublic class MyProjectc implements EnvironmentAware {@Overridepublic void setEnvironment(Environment environment) {String projectName =      environment.getProperty("project.name");System.out.println(projectName);}}  

启动SpringBoot后,在控制台会打印
这里写图片描述

具体SpirngBoot整合Mybatis应用

application.properties文件配置

datasource.driverClassName=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://localhost:3306/myproject?characterEncoding=utf8&serverTimezone=UTC
datasource.username=chenyu
datasource.password=123456

具体javaConfig代码

  @Configuration public class MyBatisConfig implements EnvironmentAware {private Environment environment;@Overridepublic void setEnvironment(final Environment environment) {this.environment = environment;}/*** 创建数据源(数据源的名称:方法名可以取为XXXDataSource(),XXX为数据库名       称,该名称也就是数据源的名称)*/@Beanpublic DataSource druidDataSource() throws Exception {Properties props = new Properties();props.put("driverClassName", environment.getProperty("datasource.driverClassName"));props.put("url", environment.getProperty("datasource.url"));props.put("username", environment.getProperty("datasource.username"));props.put("password", environment.getProperty("datasource.password"));return DruidDataSourceFactory.createDataSource(props);}/*** 根据数据源创建SqlSessionFactory*/@Beanpublic SqlSessionFactory sqlSessionFactory() throws Exception {PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();SqlSessionFactoryBean fb = new SqlSessionFactoryBean();// 指定数据源(这个必须有,否则报错)fb.setDataSource(druidDataSource());fb.setTypeAliasesPackage("com.tf56.pushService.dal.domain");// 指定mapper文件          fb.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));return fb.getObject();}}

http://chatgpt.dhexx.cn/article/3HCTA9Fl.shtml

相关文章

接口文档在项目中的作用

前后端合作开发的时候经常需要用到接口文档,那么接口文档在产品中究竟有什么作用?该如何去规范呢? 约束 假如你的项目中有若干前端和若干后端。你现在需要开发一个登陆接口,通常情况下这个功能一个前端和一个后端开发就足够了。…

接口的组成和作用

脑图: 什么是接口? 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。 接口都有哪些类型…

Java序列化接口Serializable接口的作用总结

一.Java序列化接口Serializable的作用: 一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 对象的默认序列化机制写入的内容是:对象的类,类签名,以及非瞬态和非静态字段的值。(因为静态static的东西在方…

serializable接口的作用是什么?

serializable接口的作用: 1、存储对象在存储介质中,以便在下次使用的时候,可以很快捷的重建一个副本; 2、便于数据传输,尤其是在远程调用的时候。 Serializable接口是启用其序列化功能的接口。实现java.io.Serializ…

Mapper 接口的如何起作用

在 MyBatis 的初始化过程中&#xff0c;每个一个 XML 映射文件中的<select />、<insert />、<update />、<delete />标签&#xff0c;会被解析成一个 MappedStatement 对像&#xff0c;对应的 id 就是 XML 映射文件配置的 namespace’.’statementId&a…

C#接口作用的深入理解

原文出处&#xff1a; 指尖流淌-吴学雷 1、C#接口的作用 C# 接口是一个让很多C#初学者容易迷糊的东西&#xff0c;用起来好像很简单&#xff0c;定义接口&#xff0c;里面包含方法&#xff0c;但没有方法具体实现的代码&#xff0c;然后在继承该接口的类里面要实现接口的所有…

java接口的作用和意义_Java接口的作用与意义

接口 1.接口的特点 首先看下面的这个抽象类代码: 抽象类代码中变量全为常量,方法全是抽象方法,这样的形式,我们可以将它们定义为接口类,书写方式如下: 接口的语法为: interface接口名{常量或方法 } 接口特点: 所有的属性都是公开静态常量所有的方法都是公开抽象方法没有…

java接口有什么用_接口有什么作用

接口的作用:1、接口可以使项目分离,所有层都面向接口开发,提高开发效率;2、接口使代码和代码之间的耦合度降低;3、接口可以多实现,多继承,并且一个类除了接口之外,还可以继承其它类。 接口的作用: 1、可以使项目分离,所有层都面向接口开发,提高开发效率; 2、接口使…

Comparable接口作用

今天在开发中无意看到Integer包装类内部实现了Comparable接口&#xff0c;因此探查一下该接口作用&#xff1a; 查看API解释&#xff1a; 此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序&#xff0c;类的 compareTo 方法被称为它的自然比较方法。…

java接口的作用是什么?接口的使用规范介绍

你知道java接口的作用有哪些吗&#xff1f;java接口的使用规范又是怎样的呢&#xff1f;有哪些是需要我们注意的?下面一起来详细的了解一下吧。 java接口的作用是什么&#xff1f; 一、接口的作用 首先&#xff0c;我们来谈论一下java接口的作用吧! 简单的来说&#xff0c…

接口的作用

今日内容&#xff1a;接口概述、接口定义、接口的用法、接口的继承、接口和抽象类的区别。 1.概述 接口定义了实现某种功能的规范&#xff0c;用来扩展类的功能。接口并不是类&#xff0c;编写接口的方式和类很相似&#xff0c;但是它们属于不同的概念。类描述对象的属性和方法…

Pregel Master

转载于:https://www.cnblogs.com/fanweisheng/p/11269479.html

Pregel Combiner

转载于:https://www.cnblogs.com/fanweisheng/p/11269462.html

Pregel Aggregator

转载于:https://www.cnblogs.com/fanweisheng/p/11269466.html

Pregel Worker

转载于:https://www.cnblogs.com/fanweisheng/p/11269474.html

图计算-Pregel-Hama

一.图计算简介 1.1 图计算是专门针对图结构数据的处理&#xff0e; 许多大数据都是以大规模图或网络的形式呈现&#xff1b;许多非图结构的大数据&#xff0c;也常常被转换为图模型后进行分析&#xff1b;图结构很好地表达了数据之间的关联性&#xff1b;关联性计算是大数据计…

分布式图处理系统--Pregel

介绍分布式图处理系统–Pregel以及其开源实现–Giraph 图数据处理简介 图数据的应用 图数据 数据本身以图的形式呈现 社交网络传染病传播途径交通路网 某些非图结构的数据&#xff0c;也可以转换为图模型后进行处理 网页链接机器学习训练数据 关联性分析 图数据结构表达了…

graphx中Pregel函数详解

1、PregelAPI 图本质上是一种递归的数据结构&#xff0c;其顶点的属性值依赖于其邻接顶点&#xff0c;而其邻接顶点属性又依赖于其邻接顶点&#xff0c;许多重要的图算法通过迭代计算每个顶点的属性直到到达定点条件&#xff0c;这些迭代的图算法被抽象成一系列图并行操作。 2、…

Pregel与图迭代

graphx是如何实现Pregel迭代操作&#xff0c;我们应该如何使用该模型。先看下pregel接口源码&#xff1a; 接口中各参数的含义已在图中进行注释&#xff0c;所以此处不再赘述。简单介绍下源码中的参数说明&#xff1a; 剖析 pregel模型提供了消息收集方向、迭代次数、初始化消…

Google图算法引擎Pregel介绍

参考文献点击打开链接 【前言&#xff1a;有一种说法[1]是Google的程序里面80%用的是MapReduce&#xff0c;20%用的是Pregel。今天就来介绍一下这个Pregel。想要深入研究的同志们&#xff0c;可以参考最新的SIGMOD 2010 ppt[2]。】 简介 Pregel是一个用于分布式图计算的计算…