SpringBoot 配置分析(一)
来源:互联网 发布:大平面铣削编程 编辑:程序博客网 时间:2024/06/05 02:14
读取一个配置文件:
在resource下创建一个application.properties ,内容:
local.ip=192.168.1.12
配置文件默认的名字为:application.properties ,默认位置在classpath根目录下或者classpath:/config下。file:/或 file:/config
第一种方法:
在app类中读取配置文件内容
package com.gcx.spring.SpringBoot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext;import org.springframework.context.annotation.Bean;/** * Hello world! * */@SpringBootApplicationpublic class App { public static void main( String[] args ){ ConfigurableApplicationContext context=SpringApplication.run(App.class, args); System.out.println(context.getEnvironment().getProperty("local.ip")); }}
运行结果:
或者用这种方式,创建一个UserConfig.java
package com.gcx.spring.SpringBoot;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.env.Environment;import org.springframework.stereotype.Component;@Componentpublic class UserConfig {@Autowiredprivate Environment env;public void show(){System.out.println("local.ip:"+env.getProperty("local.ip"));}}修改app类:
package com.gcx.spring.SpringBoot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext;/** * Hello world! * */@SpringBootApplicationpublic class App { public static void main( String[] args ){ ConfigurableApplicationContext context=SpringApplication.run(App.class, args); context.getBean(UserConfig.class).show(); //System.out.println(context.getEnvironment().getProperty("local.ip")); }}
得到同样地结果
第三种方式:在application.properties 加上:
local.port=8080
在UserConfig中加入一个@Value注解
运行app类:
但我们有时候不想让配置文件叫application.properties,想要换一个名字
把application.properties 换成 gcx.properties
在运行的时候,运行Run Confiugurations ---->在Arguments写上一句话---->Run
但是有时候我们不满足需求,想要放在我自己指定的文件中:
首先在resources下创建一个conf 在Run Configutations
也可以支持多个,比如在文件中:E:/test/tomcat.properties
此处不需要修改
在Run Configurations配置
运行结果:
第二种方法:
还可以通过这种方式获取配置文件信息:
创建jdbc.properties在resources下
url=jdbc:mysql:///springbootDriverClass=com.mysql.jdbc.Driver
package com.gcx.spring.SpringBoot;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.PropertySource;@Configuration@PropertySource("classpath:jdbc.properties")public class FileConfig {}创建JdbcConfig.java
package com.gcx.spring.SpringBoot;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class JdbcConfig {@Value("${url}")private String url;@Value("${DriverClass}")private String DriverClass;public void show(){System.out.println("url:"+url);System.out.println("************");System.out.println("DriverClass:"+DriverClass);}}我们修改下App.class
package com.gcx.spring.SpringBoot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext;/** * Hello world! * */@SpringBootApplicationpublic class App { public static void main( String[] args ){ //ConfigurableApplicationContext context=SpringApplication.run(App.class, args); SpringApplication app=new SpringApplication(App.class); ConfigurableApplicationContext context = app.run(args); context.getBean(UserConfig.class).show(); context.getBean(JdbcConfig.class).show(); context.close(); //System.out.println(context.getEnvironment().getProperty("local.ip")); }}
运行结果:
当然也同样可以从文件中读取
在e:/test/jdbc.properties读取
在JdbcConfig.java加上两行
在FileConfig.java加上一个注解
或者
运行结果:
第三种方法:创建一个类:DataSourceProperties.java
package com.gcx.spring.SpringBoot;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix="gcx")public class DataSourceProperties {private String url;private String DriverClass;private String username;private String password;public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getDriverClass() {return DriverClass;}public void setDriverClass(String driverClass) {DriverClass = driverClass;}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;}public void show(){System.out.println("gcx.url:"+url);System.out.println("gcx.DriverClass:"+DriverClass);System.out.println("==================");System.out.println("gcx.username:"+username);System.out.println("gcx.password:"+password);}}
@ConfigurationProperties前缀是gcx的给匹配进来
把gcx.properties还原成application.properties,添加四个配置项
运行:
- SpringBoot 配置分析(一)
- SpringBoot 配置分析(二)
- SpringBoot | 异常配置源码分析
- springboot 1.5.3 源码分析(一):项目初始化过程
- springboot 1.5.3 源码分析(二):springboot自动化配置原理及自定义starter
- springboot入门(一)文件配置和运行
- SpringBoot配置属性中文释义MVC(一)
- springboot(一)概述
- SpringBoot(一)
- springBoot 学习(一)
- SpringBoot 入门(一)
- SpringBoot入门(一)
- SpringBoot入门(一)
- springboot学习(一)
- springboot入门(一)
- SpringBoot(一、入门)
- SpringBoot(一)
- SpringBoot(一)
- CAD 学习笔记 Mac
- luogu P1073 最优贸易
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- 文件下载
- MySQL 按照时间查询
- SpringBoot 配置分析(一)
- Python 函数参数引用(传值/传址)/copy/deepcopy
- 指针经典例题
- 请问什么是Servlet上下文?
- 17/8/2学习笔记03
- 笨办法学 Python · 续 练习 5:`cat`
- 触摸屏驱动设计----输入子系统模型
- H5 文件下载
- 一、java运行环境安装之-linux centos6.6安装mysql 5.6安装步骤【rpm安装方式】