Spring Boot项目属性配置

接着上面的入门教程,我们来学习下Spring Boot的项目属性配置。

1、配置项目内置属性

属性配置主要是在application.properties文件里配置的(编写时有自动提示)这里我们将server的端口变为8888,路径加上HelloWorld:

在DeomApplication.java的页面时点击运行按钮,打开浏览器输入:http://localhost:8888/HelloWorld/hello

此时,控制台的输出信息也可以看到端口变成8888了:

之前的url已无效:

更改后的URL有效:

2、配置自定义属性

同样也是在application.properties文件编写,内容如下:

接着在HelloWorldController.java中使用@Value注解将自定义属性注入,这样可以直接使用自定义属性了:

运行项目,输入:http://localhost:8888/HelloWorld/hello,浏览器将显示如下结果:

3、ConfigurationProperties 配置

新建一个com.example.properties包,再新建一个MysqlProperties.java类,经测试运行会出错,无法找到该Bean,错误如下:

百度后找到了原因:

SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描!

如果Application类所在的包为:io.github.gefangshuai.app,则只会扫描io.github.gefangshuai.app包及其所有子包,如果service或dao所在包不在io.github.gefangshuai.app及其子包下,则不会被扫描!

于是将MysqlProperties.java类移动了com.example.demo包下,也就是Application类所在的包,就没报bean找不到的错误了。

MysqlProperties.java用到了2个重要的注解:

1、@Component:把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>

2、@ConfigurationProperties(prefix = "mysql"):将配置类注入到spring容器中,这样可以使用配置类,这里使用了前缀。

编写完成,IDEA会提示改属性有问题,原因是spring-boot-configuration-processor.jar包没有引入,在pom.xml加入如下依赖:

1 <dependency>
2     <groupId>org.springframework.boot</groupId>
3     <artifactId>spring-boot-configuration-processor</artifactId>
4     <optional>true</optional>
5 </dependency>
MysqlProperties.java代码如下(使用Alt+Insert快捷键生成Getter和Setter方法):
 1 package com.example.demo;
 2
 3 import org.springframework.boot.context.properties.ConfigurationProperties;
 4 import org.springframework.stereotype.Component;
 5
 6 /**
 7  * Mysql属性配置
 8  */
 9 @Component
10 @ConfigurationProperties(prefix = "mysql")
11 public class MysqlProperties {
12
13     private String jdbcName;
14
15     private String dbUrl;
16
17     private String userName;
18
19     private String password;
20
21     public String getJdbcName() {
22         return jdbcName;
23     }
24
25     public void setJdbcName(String jdbcName) {
26         this.jdbcName = jdbcName;
27     }
28
29     public String getDbUrl() {
30         return dbUrl;
31     }
32
33     public void setDbUrl(String dbUrl) {
34         this.dbUrl = dbUrl;
35     }
36
37     public String getUserName() {
38         return userName;
39     }
40
41     public void setUserName(String userName) {
42         this.userName = userName;
43     }
44
45     public String getPassword() {
46         return password;
47     }
48
49     public void setPassword(String password) {
50         this.password = password;
51     }
52 }

 application.properties添加的属性如下:

1 mysql.jdbcName=com.mysql.jdbc.Driver
2 mysql.dbUrl=jdbc:mysql://localhost:3306/db_boot
3 mysql.userName=root
4 mysql.password=root

HelloWordController.java的最终代码为:

 1 package com.example.demo;
 2
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.stereotype.Controller;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 import org.springframework.web.bind.annotation.ResponseBody;
 7
 8 import javax.annotation.Resource;
 9
10
11 /**
12  * Created  on 2017-9-3.
13  */
14 @Controller
15 public class HelloWorldController {
16
17     @Value("${hellWorld}")
18     private String helloWorld;
19
20     @Resource
21     private MysqlProperties mysqlPropertie;
22
23     @RequestMapping("/hello")
24     @ResponseBody
25     public String say(){
26         return  helloWorld;
27     }
28
29     @RequestMapping("/showJdbc")
30     @ResponseBody
31     public String showJdbc(){
32         return "mysql.jdbcName" + mysqlPropertie.getJdbcName() +"<br/>"
33                 + "mysql.dbUrl" + mysqlPropertie.getDbUrl() +"<br/>"
34                 + "mysql.userName" + mysqlPropertie.getUserName() +"<br/>"
35                 + "mysql.password" + mysqlPropertie.getPassword() +"<br/>";
36
37     }
38
39
40 }

运行项目,浏览器输入:http://localhost:8888/showJdbc,正确结果如下:

转载请附上原文链接:http://www.cnblogs.com/stm32stm32/p/7469663.html

时间: 2025-01-19 23:01:38

Spring Boot项目属性配置的相关文章

spring boot 项目属性配置

一.系统配置文件 1.application.properties是新建springboot项目后默认得配置文件 配置的示例如下 server.port=8080 server.context-path=/girl 2.推荐使用application.yml的方式 配置的示例如下 server: port: 8082 context-path: /girl 二.YAML YAML 语言教程 三.实际应用 [email protected] 的用法 application.yml server:

idea下新建Spring Boot项目并配置启动

一.操作步骤 ①使用idea新建一个Spring Boot项目 ②修改pom.xml ③修改application.properties ④修改编写一个Hello Spring Boot的Controller ⑤启动项目访问 二.详细步骤 1.File-->New-->Project 2.选择Spring Initializr 然后Next 3.输入Artiface 然后Next 4.勾选Web .模版我们选择官方推荐的Thymeleaf模版引擎,其他框架.中间件.数据库根据需要选择即可,而且

简单的Spring Boot 项目初级配置

一.前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 本系列以快速入门为主,可当作工具小手册阅读 二.环境搭建 创建一个 maven 工程,目录结构如下图: 2.1 添加依赖 创建 maven 工程,在 pom.xml 文件中添加如下依赖: <!-- 定义公共资源版本 --> <parent> <groupId&g

spring boot项目mybatis配置注解+配置文件

maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId&g

在Spring Boot项目中使用Redis集群

Redis安装 Mac 系统安装Redis brew方式安装 在命令汗执行命令 brew install redis 安装完成之后的提示信息 ==> Downloading https://homebrew.bintray.com/bottles/redis-5.0.2.mojave.bottle.tar.gz ######################################################################## 100.0% ==> Pouring

[读书笔记] 一、Spring boot项目搭建与配置文件

读书笔记:[JavaEE开发的颠覆者 Spring Boot实战] 作者:汪云飞 从今天开始坚持读书,并记录下此读书笔记. 一,初接触 Spring boot 项目Hello world搭建 1.pom.xml 配置如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

spring boot项目如何测试,如何部署

有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元测试 在开发阶段的时候最重要的是单元测试了,springboot对单元测试的支持已经很完善了. 1.在pom包中添加spring-boot-starter-test包引用 <dependency> <groupId>org.springframework.boot</groupI

Spring Boot系列——日志配置

日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要的地位. 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生产环境一旦出现问题,预警系统就会通过邮件.短信甚至电话的方式实施多维轰炸模式,确保相关负责人不错过每一个可能的bug. 预警系统判断疑似bug大部分源于日志.比如某个微服务接口由于各种原因导致频繁调用出错,此时调用端会捕获这样的异常并打印ERROR级别的日志,当该错误日志达到一定次数出现的时候,就会

Spring Boot 项目中使用JSP

1    第2-2课:Spring Boot 项目中使用JSP JSP(Java Server Pages,Java 服务器页面)是一个简化的 Servlet 设计,它是由 Sun Microsystems 公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP 技术类似 ASP 技术,它是在传统的网页 HTML(标准通用标记语言的子集)文件(.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp).用 JSP 开