19-7-21 springboot学习
一、spring-boot-starter-parent
spring-boot-dependencies依赖里面有各个包的版本号,是个配置文件,也就是版本仲裁,这就是为什么我们引入依赖不需要写入版本号了。
我们在创建一个项目后,pom配置文件中会有默认的dependencies:(注意是在parent标签内不是dependencies标签内)
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.4.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent>
那么继承的这个parent作用有哪些:
- 定义了 Java 编译版本为 1.8 。
- 使用 UTF-8 格式编码。
- 继承自spring-boot-dependencies,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号。
- 执行打包操作的配置。
- 自动化的资源过滤。
- 自动化的插件配置。
- 针对 application.properties 和 application.yml 的资源过滤,包括通过 profile
定义的不同环境的配置文件,例如 application-dev.properties 和 application-dev.yml。
但是并非所有的公司都需要这个 parent ,有的时候,公司里边会有自己定义的 parent ,我们的 Spring Boot 项目要继承自公司内部的 parent ,这个时候该怎么办呢?
一个简单的办法就是我们自行定义 dependencyManagement 节点,然后在里边定义好版本号,再接下来在引用依赖时也就不用写版本号了,像下面这样:
<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.1.4.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
这样写之后,依赖的版本号问题虽然解决了,但是关于打包的插件、编译的 JDK 版本、文件的编码格式等等这些配置,在没有 parent 的时候,这些统统要自己去配置。
**
二、springboot-starter
**
我们称之为springboot场景启动器:帮我们导入了springboot正常运行所需要的依赖
里面有支持ajax的、支持tomcat的
三、注解
@EnableAutoConfiguration可将@SpringBootApplication标注的类下面所有子包里面的所有组件扫描到spring容器中
@import()作用是导入组件
@Responsebody是说明返回的数据全部都给浏览器,写在类或方法前面。如果类中每个方法都要用到,那就写在类前面。(如果是对象还能转成json数据)
@RestController其实是@Responsebody和@Controller的结合
@ConfigurationProperties和@Value获取值:
@ConfigurationProperties可以批量注入properties中的属性,而Value中只可以一个个指定。
@ConfigurationProperties支持宽松语法绑定,比如驼峰命名,下划线之类的,可以匹配到
@ConfigurationProperties(prefix = “person”)默认是application.properties 。这时候需要用注解@PropertySource(Value={“classpath:文件名称”})
@ImportResource(locations = {“classpath:”})放在主程序中,加载另外一个配置文件(默认路径是resources下的文件哦)
但是这样在写大项目时太麻烦了,就需要写一个配置类。在配置类中可以添加配置文件比如@Bean添加bean文件
19-7-21 springboot学习相关推荐
- AI公开课:19.03.21钱诚/雷鸣等教授或专家《寒武纪-深度学习处理器》课堂笔记以及个人感悟
AI公开课:19.03.21钱诚/雷鸣/汪玉/侯晓林等教授或专家<寒武纪-深度学习处理器>课堂笔记以及个人感悟 导读:如果大家去创业的话,一定要看清未来的大趋势,看对赛道,当然,还有人才. ...
- SpringBoot(学习笔记)
SpringBoot学习笔记 从今天开始就进入微服务阶段 一些小问题 1.HelloWorld 1.1回顾什么是Spring 1.2什么是SpringBoot 1.3微服务架构 2.第一个Spring ...
- SpringBoot 学习笔记
SpringBoot 学习笔记 文章目录 SpringBoot 学习笔记 1. SpringBoot简介 1.1 什么是Spring 1.2 Spring 是如何简化Java开发的 1.3 什么是 S ...
- SpringBoot学习笔记2
九:创建父工程 注意:打包方式选择为pom 将创建SpringBoot常用的依赖和插件放在父工程的pom.xml,如下: 1 <project xmlns="http://maven. ...
- GSMA SGP.21协议学习
GSMA SGP.21协议学习 1简介 1.1概述 本文档提供了一种体系结构方法,作为所有市场中设备的远程SIM配置的建议解决方案.体系结构的主要目标是为设备的远程SIM配置提供必要的凭据以获取移动网 ...
- SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.21 SpringBoot 整合 ActiveMQ
SpringBoot [黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)] SpringBoot 开发实用篇 文章目录 Spring ...
- 【Springboot学习】SpringBoot集成Shiro前后端分离使用redis做缓存【个人博客搭建】
shiro-redis 目录 shiro-redis 下载 shiro-core/jedis 版本对比图 使用前 如何配置? 设置文件 Redis 独立 Redis哨兵 Redis 集群 Spring ...
- SpringBoot学习之单点登录
SpringBoot学习之单点登录 单点登录 登录 注销 部署 实现 主要功能 重要步骤 sso-client拦截未登录请求 sso-server拦截未登录请求 sso-server验证用户登录信息 ...
- 狂神说——SpringBoot学习
spring官网 SpringBoot官网 spring-security版本下载 狂神官网学习 也可以搜索B站 (狂神说) 学习网站:https://www.bilibili.com/video/B ...
- 超详细的springBoot学习教程,springboot学习看这篇就够了
springBoot学习 https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/index.html (官方文档) ...
最新文章
- mysql 5.6多实例_MySQL 5.6.x多实例配置
- Anaconda安装包报错——UnavailableInvalidChannel: The channel is not accessible or is invalid
- Java高并发编程(五):Java中的锁Lock
- 值得收藏的数据库基础总结!
- 经典书单 —— 机器学习/深度学习/AI/CV/PGM
- php中用microtime()函数来测试代码运行时间
- dsp c语言流水灯程序,DSP流水灯源程序
- 未来教育计算机题库三合一,未来教育-全国计算机等级考试真考题库、高频考点、模拟考场三合一(二级MS Office高级应用)...
- 【python 数据分析】不同情况下的t检验、Wilcoxon符号秩检验、Wilcoxon秩和检验、卡方检验、Fisher检验
- 严蔚敏《数据结构》 迪杰斯特拉算法
- 键盘录入一个长方形的长和宽(长和宽为int类型),计算长方形的面积和周长
- 解决阿里云服务器被恶意挖矿问题
- LeetCode:838. 推多米诺————中等
- 51单片机c语言延时计算软件,51单片机精确延时程序大集合+初值计算工具
- wordpress博客评论框添加背景图片
- 用python实现随机选人、选取活动或节目小程序
- 南邮 OJ 2070 马尔扎哈的疑惑
- 华大单片机 HC32F460 驱动BM8563ESA RTC芯片
- Unity3d入门选作作业(一)
- WPF 中Combox的使用
热门文章
- C++调用Python实例
- DELL N系列交换机/N3048交换机SSH配置
- 信息系统安全等级保护的定级准则和等级划分
- php 微信第三方登录demo,第三方登录 - 快速接入微信、QQ、微博等第三方登录方式 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
- ps一点等于多少厘米_50寸液晶电视尺寸是多少
- 手机连接投影机的步骤_投影机和电视机怎么选?看这一篇就够了!
- c语言文件fputs和fgets,文件的读写问题,fputs和fgets问题!!!!
- Linux下使用stat命令所显示出来的三个时间
- 将单词的首字母转换成大写
- python项目面试_Python面试中最常见的25个问题-结束