本文总结自:https://www.cnblogs.com/V1haoge/p/7183408.html

SpringBoot中免除了大部分配置,但是对于一些特定的情况,还是需要我们进行手动配置的。

手动配置有两种方式:

1. SpringBoot为我们提供了application.properties配置文件,我们可以对默认的配置进行修改,还能加入一些第三方的配置,几乎所有配置都可以写到application.peroperties文件中,这个文件会被SpringBoot自动加载,

2. 自定义一个配置文件,但这些文件就需要我们进行手动加载。

备注1:SpringBoot可以识别两种格式的配置文件,yml与properties,我们可以将application.properties文件换成application.yml,这两个文件都可以被SpringBoot自动识别并加载,

但如果是自定义的配置文件,就最好还是使用properties格式的文件,因为SpringBoot中暂时还并未提供手动加载yml格式文件的功能(这里指注解方式)。

备注2:application.properties配置文件需要放置到指定的位置:src/main/resource目录下,一般自定义的配置文件也位于此目录之下。

如何使用配置项?

1. 只要是加载到Spring容器中的配置项都可以直接使用@Value("${key}")的方式来引用,一般将其配置在字段顶部,表示将配置项的值赋值给该字段。

2. 将这些配置项与一个JavaBean绑定起来使用,绑定一次,我们就可以随时使用。

绑定使用分两种情况:

1. 将application.properties中的配置与JavaBean类绑定

与属性绑定的JavaBean的类定义顶部加@Component注解和@ConfigurationProperties(prefix="key")注解,

前者的目的是为了JavaBean可以被SpringBoot项目启动时候被扫描到并加载到Spring容器之中,

后者为属性绑定注解,它的作用就是将指定的前缀的配置项的值与JavaBean的字段绑定,得与@EnableConfigurationProperties(JavaBean.class)配合使用,注意二者并非使用在同一位置,

注意:为了绑定的成功,字段的名称与配置项键的最后一个键名得相同,这样整个键在去掉前缀的情况下就和字段名称一致,以此来进行绑定。

2. 将自定义配置文件中的配置与Javabean绑定。

与之前的基本相同,只是配置不能自动加载,得手动加载

额外配置:

在JavaBean之上加上@PropertySource注解。

将@Component改为@Configuration,为什么这么做呢?

@Configuration注解的底层就是@Component,但是二者意义不同,@Configuration注解侧重配置之意,@Component侧重组件之意,当然配置也是项目组件之一,在这里我们要将配置文件属性与JavaBean绑定,当然更侧重配置之意。

@EnableConfigurationProperties(JavaBean.class)

@EnableConfigurationProperties注解@ConfigurationProperties注解配套使用,

标注有@ConfigurationProperties注解的Beans可以被使用标准的方式注册(使用@Bean注解),或者,直接用使用@EnableConfigurationProperties指定注册,例如:@EnableConfigurationProperties(JavaBean.class)

一个例子:

package com.donghao.model;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;@Configuration
@PropertySource("classpath:donghao.properties")
@ConfigurationProperties(prefix="donghao1")
public class Donghao {private String name;private String sex;private String age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}
}

定义控制器:DonghaoController

package com.donghao.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import com.donghao.model.Donghao;@RestController
@RequestMapping("/donghao")
@EnableConfigurationProperties(Donghao.class)
public class DonghaoController {@AutowiredDonghao donghao;@Value("${donghao.name}")private String name;@Value("${donghao.sex}")private String sex;@Value("${donghao.age}")private String age;@RequestMapping("/hello")public String hello(){return "我的名字叫"+name+",我是"+sex+"生,今年"+age+"岁了!";}@RequestMapping("/ss")public String ss(){return donghao.getName()+donghao.getSex()+donghao.getAge();}
}

定义启动入口类:DonghaoApplication.java

package com.donghao;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DonghaoApplication {public static void main(String[] args) {SpringApplication.run(DonghaoApplication.class, args);}}

转载于:https://www.cnblogs.com/yanze/p/10438676.html

spring手动配置相关推荐

  1. Spring boot 默认静态资源路径与手动配置访问路径的方法

    这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 s ...

  2. Spring Boot 配置元数据指南

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 遗失的拂晓 来源 | 公众号「锅外的大佬」 1. 概览 在编写 Spring Bo ...

  3. spring MVC配置详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  4. spring boot配置对上传文件的大小限制

    spring boot配置对上传文件的大小限制 spring-boot 2.0之前 Spring Boot1.4版本后配置更改为(默认单个文件最大1Mb,单次请求文件总数大小最大10Mb): spri ...

  5. spring 环境配置

    搭建Spring开发环境并编写第一个Spring小程序 一.前面,我写了一篇Spring框架的基础知识文章,里面没讲到如何配置Spring开发环境,今天就来讲一下,如果大家不知道怎么下载Spring软 ...

  6. Spring中配置Hibernate事务的四种方式

    2019独角兽企业重金招聘Python工程师标准>>> 为了保证数据的一致性,在编程的时候往往需要引入事务这个概念.事务有4个特性:原子性.一致性.隔离性.持久性. 事务的种类有两种 ...

  7. [转] Spring XML配置十二个最佳实践

    Spring是一个强大的JAVA应用框架,广泛地应用于JAVA的应用程序.为Plain Old Java Objects(POJOs)提供企业级服务.Spring利用依赖注入机制来简化工作,同时提高易 ...

  8. Spring和Spring的配置

    Spring框架 1.什么是spring spring是一个分层的java EE应用full-stack轻量级开源框架,以IOC(反转控制)和AOP(面向切面编程)为内核 2.Spring的优势 1) ...

  9. SpringMVC基础--spring MVC配置详解

    牧涛 --<-<-<@态度决定一切→_→... 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 171  文章- 3  评论- 79  spring MVC配置详解 现在主流的 ...

最新文章

  1. ITOO4.1之缓存—分布式缓存Memcached学习(理论篇)
  2. 为甚么 国企做互联网总做不起来?
  3. 知乎:学计算机的女生都怎么样了?
  4. [css] 字体的粗细的属性是用哪一个?它有哪些属性值?
  5. 基于Spring安全角色的访问授权示例
  6. mac os android连接wifi密码,Mac使用小技巧:找回WiFi密码
  7. api php usdt 以太坊_以太坊PHP离线交易开发包
  8. Lucene学习入门——核心类API
  9. Caffe的各个版本简介
  10. 马云给阿里的礼物:90多项区块链专利,全球最多
  11. 波士顿大学 计算机专业,波士顿大学计算机科学专业波士顿大学计算机科学专业.pdf...
  12. Win10系统Ctrl键锁定无法使用解决方法
  13. 第一行代码Android个人笔记(五)——文件存储
  14. STM32F103标准库开发:KEY按键实验
  15. 美国通胀“爆表”要加息100点?
  16. 疾病研究:重症肌无力医师指南
  17. 大数据的主要特征是什么?
  18. 程序员掌握linux命令,程序员必须知道的linux命令
  19. 多线程04:网图下载
  20. 黑龙江科学杂志黑龙江科学杂志社黑龙江科学编辑部2022年第24期目录

热门文章

  1. php u6536编码转,详谈PHP编码转换问题
  2. html缓存在本地缓存,HTML5 本地缓存 window.localStorage
  3. php去字符串空格,php怎么去掉字符串中空格
  4. js控制 html.textboxfor,javascript - Html.TextBoxFor regex is not working - Stack Overflow
  5. android开发日历库,Android SDK开发范例大全--5.5自制日历手机数据库笔记
  6. 蓝牙小电池图标_丽声小百科 | 乐趣助听器如何连接iPhone手机?
  7. oracle sql练习_SQL入门学习
  8. php怎么计算图片的大小,php 根据比例计算图片缩放尺寸函数的用法
  9. java响应鼠标滚轮事件_一文读懂鼠标滚轮事件(wheelEvent)
  10. mysql建用户无密码_mysql建用户和修改密码和忘记密码的解决办法