Springboot框架学习笔记------项目搭建、程序解析、配置文件的作用
今天开始学习spring boot,这个框架整合spring和springmvc,简化了很多的配置,这是目前的理解。
搭建流程:
1.从idea搭建,利用maven创建项目,前提是联网,需要下载maven依赖
2.创建成功以后,看项目的结构
上面的springbootwebapplication是创建项目的时候自带的,里面包含main方法,是程序执行的入口,SpringApplication.run启动了springboot程序,启动spring容器,启动内嵌的tomcat。
因为创建的是一个web项目,自己添加了一下controller,添加requestmapping,前台直接调用。
**
程序解析
**
1.springboot的父级依赖spring-boot-starter-parent配置之后,当前的项目就是springboot项目。
2.当引入spring-boot-starter-parent之后,直接提供了相关的maven默认依赖,使用它之后,常用的jar包依赖可以省去version配置。
3.springboot提供了哪些默认jar的依赖,可以查看该父级依赖的pom文件
4.如果不想使用某个默认的依赖版本,可以通过pom.xml文件的属性配置来覆盖版本信息
5.@SpringBootApplication这个注解是springboot项目的核心注解,主要作用是开启spring自动配置,
6.@Controller和@ResponseBody依然是之前的springmvc,springboot使用的还是ssm的东西。
配置文件(application.properties)的简单介绍:
1.server.port=8080:设置请求的端口号
2.server.servlet.context-path=/springboot-web:指定请求的上下文路径
这是springboot2.0往上的用法,之前的是server.context-path
3.application.properties的作用和application.yml的作用相同,如果同时存在,起作用的是application.properties
4.当多环境配置文件的时候,需要在application.properties中指定激活的配置文件
spring.profiles.active=dev
5.当在总的配置文件中激活另外的配置文件时,起作用的时被激活的配置文件
6.当总配置文件中配置,但是被激活配置文件中没配置的,总配置文件中的配置会生效
读取配置文件中的属性的两种方式
1.在配置文件中设置属性的值,然后加value注解,直接取值
boot.name=王雷凯
boot.age=22
@Controller
public class ConfigInfoController {@Value("${boot.name}")private String name;@Value("${boot.age}")private int age;@RequestMapping("/boot/config")public @ResponseBody String hello(){System.out.println(name+" --- "+age);return name+"---"+age;}
}
如果出现乱码,在配置文件中添加:
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
2.再另外写一个类,将整个文件映射为一个对象:
@Component
@ConfigurationProperties(prefix = "boot")//前缀
public class ConfigInfo {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
取值的时候直接在controller中自动注入这个类,然后get属性
@AutowiredConfigInfo configInfo;@RequestMapping("/boot/config")public @ResponseBody String hello(){return this.name +"---"+ this.age + configInfo.getName() + configInfo.getAge();}
Springboot框架学习笔记------项目搭建、程序解析、配置文件的作用相关推荐
- 硬核3万字,SpringBoot框架学习笔记
Spring Boot是Spring家族下的一个全新开发框架,其设计目的主要是用来简化Spring应用的创建及开发过程,它提供了自动配置,starter依赖等特性,从而使开发人员从大量的XML配置中解 ...
- php框架费尔康,GitHub - majixian/study-phalcon: phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 以实例程序invo为例(invo程序放在网站根目录下的invo文件夹里,推荐php版本>=5.4) 环境不支持伪静态网址时的配置 第一步: 在app\con ...
- 【SpringBoot】最新版2019Spring Boot配置解析,源码解析(速成SpringBoot)——学习笔记版【2】
SpringBoot配置文件 文章目录 SpringBoot配置文件 四.配置文件 1.简介 2.YAML用法 2.1 简介 2.2语法 3.为属性注入值 3.1使用.yml配置文件 3.1编写.ym ...
- 8. SpringBoot基础学习笔记
SpringBoot基础学习笔记 课程前置知识说明 1 SpringBoot基础篇 1.1 快速上手SpringBoot SpringBoot入门程序制作 1.2 SpringBoot简介 1.2.1 ...
- SpringMVC框架--学习笔记(上)
1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...
- Spring框架学习笔记,超详细!!(4)
Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...
- 15分钟用Java平台实现Springboot框架构建后端项目框架
15分钟用Java平台实现Springboot框架构建后端项目框架 文章目录 15分钟用Java平台实现Springboot框架构建后端项目框架 前言 准备工具 1. 新建项目 2.搭建项目框架 3. ...
- Java日志框架学习笔记
Java日志框架学习笔记 文章目录 0 主流Java日志框架 1 log4j 1.1 理论知识 1.1.1 Loggers日志记录器 1.1.2 Appenders输出端 1.1.3 Layout日志 ...
- ET6.0服务器框架学习笔记(二、一条登录协议)
ET6.0服务器框架学习笔记(二.一条登录协议) 上一篇主要记录ET6.0的服务器启动功能,本篇主要记录ET6.0完整的一条协议,从配置到生成协议数据,到从客户端发送给服务端,再发送回客户端的流程 文 ...
最新文章
- 入门级Mat (java版)
- 【Android 系统开发】Android JNI 之 JNIEnv 解析
- Android园区部队人脸识别源码门禁项目讲解
- .net 怎么使用github_如何正确的使用ncnn的Extractor
- c++中的异常--1(基本概念, c语言中处理异常,c++中处理异常,异常的基本使用,栈解旋)
- 异常信息java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:
- Java讲课笔记29:Swing入门
- php mysql搜索功能并分页_php实现搜索和分页效果-亲测有效
- 使用 matlab 数字图像处理(九)—— 去卷积(deconvolution,逆滤波复原)
- MongoDB学习day10--数据库导入导出
- 我想自学C++,可以吗?需要注意些什么呢?
- zigzag矩阵按照之字形线路产生方法(C++)
- 蔬菜水果生鲜电商购物网站模板源码下载
- 【渝粤教育】广东开放大学 经济法基础 形成性考核 (52)
- 火影忍者ol手游服务器注册上限怎么办,火影忍者ol手游进不去是怎么办 火影忍者ol手游上不去原因详解...
- 一个正整数到 Excel 编号之间的转换
- 步进电机控制(Proteus仿真+代码
- OpenGL入门二——变换
- 基于单片机的温控热水器电路设计(#0214)
- HTML和CSS代码规范
热门文章
- PKI/CA与数字证书技术大全
- 浅谈零样本网络表示学习 AAAI2018 TKDE2020
- 近期汽车制造业内部机密泄露频发,迅软DSE告诉您如何防范!
- 新鲜新奇事物_未来的新奇事物作文300字-小学四年级作文未来的事物?
- java坦克大战总体功能设计_Java坦克大战设计报告.doc
- python计算众数scipy
- 平安科技移动开发二队技术周报(第十五期)
- mapbox进不去_Tableau 地图 | 两步教你用Mapbox
- catia装配体怎么把零件旋转180度_Catia实现旋转命令的详细使用方法
- 【VUE】Vue知识点整理