5.springboot 配置文件

本文介绍了如何在SpringBoot项目中配置数据源,并通过示例详细解释了如何在application.properties文件中添加和读取配置信息。
摘要由CSDN通过智能技术生成

使用ide引导创建的springboot默认会在resources下创建一个application.properties文件

下面以配置数据源为例  演示读取properties中的数据


在application.properties中添加

spring.datasource.url=jdbc:mysql://localhost:3306/one?useSSL=true
spring.datasource.driver=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource


pom文件中添加   完整的pom文件 最下面会有

<!--mysql-->
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
</dependency>
<!--druid 连接池-->
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.0.26</version>
</dependency>





获取配置文件数据的第一种方式  使用@Value注解  和以前的使用方式一样
controller如下
@RestController
public class PropController {
    @Value("${spring.datasource.driver-class-name}")
    private String driver;
    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;
    @RequestMapping("/prop01")
    public String testProp01() {
        return driver+"<br>"+url+"<br>"+username+"<br>"+password;
    }
}
访问网页

2.第二种获取数据方式
	2.1.获取默认的配置文件application.properties中的数据
	使用  @ConfigurationProperties 这个注解来获取数据
新建一个类用来封装获取的数据
@Component   //将这个类交给spring管理    
@ConfigurationProperties(prefix = "spring.datasource") //定义前缀  
public class DataSourceConfig {
    private String driver;  //属性名和配置文件保持一致
    private String url;
    private String username;
    private String password;
	//getter setter方法略
}
在刚才的controller调用  添加如下代码
 @Autowired
 private DataSourceConfig dataSourceConfig;  //注入bean
 @RequestMapping("/prop02")
 public String testProp02() {
     return dataSourceConfig.getDriver()+"<br>"+dataSourceConfig.getUrl()+"<br>---"
           	+dataSourceConfig.getUsername()+"<br>"+dataSourceConfig.getPassword();
 }


访问网页  第一个root前加了  ---  区分  
	
	
	
2.2.获取其他配置文件中的数据
	girl.properties文件
	girlFriend.name=amy
	girlFriend.age=16
	girlFriend.height=175
	girlFriend.cupSize=G
	对应的类文件
	
@Configuration(value = "girl") // 注入时使用的名字  如果不指定  默认是类名首字母小写
@ConfigurationProperties(prefix = "girlFriend")  //定义前缀
@PropertySource("classpath:config/girl.properties")  //使用自定义的配置文件  只能使用  properties   yml暂时不支持
public class GirlProp {
    private Integer id;
    private String name;
    private Integer age;
    private String height;
	setter getter方法略
}
controller代码如下
@RestController
public class GirlController {
    @Autowired
    private GirlProp girl;
    @RequestMapping("/girl")
    public String girl(){
        System.out.println(girl);
        return girl.getId()+"\t"+girl.getName()+"\t"+girl.getAge()+"\t"+girl.getHeight();
    }
}
接下来 最重要的一点  需要在启功类上添加一个注解来指定我们自己的配置类
@SpringBootApplication
@EnableConfigurationProperties(GirlProp.class)
public class Springboot04Application {
    public static void main(String[] args) {
        SpringApplication.run(Springboot04Application.class, args);
    }
}


目录结构
另外 关于springboot默认的配置文件有两种形式
1. application.properties KV形式
2.application.yml 格式 是一种表示层级关系的显示方式
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/one?useSSL=true
    driver: com.mysql.jdbc.Driver
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
  http:
    encoding:
      enabled: true
      charset: UTF-8
注意下冒号后面有一个空格的,如果使用idea的话会有明显的颜色变化
上面配置了两组数据
spring.datasource.***
spring,http.encoding.****
自己使用的时候注意下格式,这两个只存在一个就可以了。
修改端口号的话 使用server.port这个属性修改


完整的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>top.by</groupId>
	<artifactId>springboot04</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>springboot04</name>
	<description>Demo project for Spring Boot</description>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.7.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>
	<!--后面关于springboot的依赖不需要定义版本  都在  parent中定义好了-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--mysql-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!--druid 连接池-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.26</version>
		</dependency>
	</dependencies>
		<!--springboot  编译插件-->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>







    
    
pom文件中添加 完整的pom文件 最下面会有
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值