IDEA将JavaWeb项目部署到服务器
IDEA将JavaWeb项目部署到服务器IDEA将web项目打包成war包
将war包上传到服务器中的Tomcat安装目录中的webapp目录下
服务器启动Tomcat在服务器中进入到tomcat安装目录下的bin目录使用startup命令启动tomcat
SpringBoot配置-7
外部配置加载顺序SpringBoot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置
命令行参数
所有的配置都可以在命令行上进行指定
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –server.port=8087 –server.context-path=/abc
多个配置用空格分开; –配置项=值
来自java:comp/env的JNDI属性
Java系统属性(System.getProperties())
操作系统环境变量
RandomValuePropertySource配置的random.*属性值
jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
jar包外部的applicat ...
错误问题记录-2
SpringBoot指定配置文件于默认配置文件没有形成互补配置项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置。指定配置文件和默认加载的这些配置文件共同起作用没有形成互补配置
原因:SpringBoot2.0版本之后指定文件与默认配置不会形成互补配置,只是指定文件中的配置生效
如果想形成互补的话,可以把SpringBoot版本改为2.0之前
然后进行打包,命令台使用–spring.config.location=文件路径
SpringBoot指定日志文件和日志Profile功能失效编写logback-spring.xml文件,使用日志Profile功能。发现控制台中所有配置并未按配置生效
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889<?xml ve ...
SpringBoot配置-6
配置文件加载位置springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件。
–file:./config/
–file:./
–classpath:/config/
–classpath:/
优先级由高到底,高优先级的配置会覆盖低优先级的配置
SpringBoot会从这四个位置全部加载主配置文件,互补配置
项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;(SpringBoot2.0版本之后指定文件与默认配置不会形成互补配置,只是指定文件中的配置生效)
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –spring.config.location=文件路径
SpringBoot配置-5
Profile1、多Profile文件我们在主配置文件编写的时候,文件名可以是:application-{profile}.properties/yml
默认使用application.properties的配置
2、yml支持多文档块方式通过—将文档分成多文档块
123456789101112131415161718server: port: 8081spring: profiles: active: prod#文档块一---server: port: 8083spring: profiles: dev#文档块二---server: port: 8084spring: profiles: prod #指定属于哪个环境#文档块三
3、激活指定profile配置文件中指定使用spring.profiles.active激活指定profile
application.properties
application.yml
程序参数指定程序参数中添加–spring.profiles.acprotive激活指定profile
命令行指定将程序打包成一个jar ...
SpringBoot配置-4
@PropertySource:加载指定的配置文件
通过Spring Boot 全局配置文件与@Value 取赋值详解与 @ConfigurationProperties 对比已经知道使用“@Value”注解与“@ConfigurationProperties”可以从全局配置文件“application.properties”或者“application.yml”中取值然后为需要的属性赋值
但是如果应用比较大的时候,如果所有的内容都当在一个文件中,如“application.properties”或者“application.yml”中时,就会显得比较臃肿,同时也不太好理解和维护
可以将一个文件拆分为多个,此时使用@PropertySource即可解决问题
@PropertySource 用于加载指定的配置文件
12345678910111213141516171819@PropertySource(value = {"classpath:person.properties"})@Component@ConfigurationProp ...
SpringBoot配置-3
@Value获取值和@ConfigurationProperties获取值比较
@ConfigurationProperties
@Value
功能
批量注入配置文件中的属性
一个个指定
松散绑定(松散语法)
支持
不支持
SpEL
不支持
支持
JSR303数据校验
支持
不支持
复杂类型封装
支持
不支持
配置文件yml还是properties他们都能获取到值;
如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;
如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;
松散绑定属性名匹配规则(Relaxed binding)
person.firstName:使用标准方式
person.first-name:大写用-
person.first_name:大写用_
PERSON_FIRST_NAME: 推荐系统属性使用这种写法
相当于person对象中的firstName属性
JSR303数据校验空检查
注解
功能
@Null
验证对象 ...
SpringBoot配置-2
配置文件值注入配置文件
123456789101112person: lastName: hello age: 18 boss: false birth: 2017/12/12 maps: {k1: v1,k2: 12} lists: - lisi - zhaoliu dog: name: 小狗 age: 12
1234567891011# idea,properties配置文件utf-8# 配置personperson.last-name=张三person.age=18person.birth=2017/12/15person.boss=falseperson.maps.k1=v1person.maps..k2=14person.lists=a,b,cperson.dog.name=小狗person.dog.age=15
javaBean
将配置文件中配置的每一个属性的值,映射到这个组件中
@ConfigurationProperties:告诉SpringBoot将本类中的 ...
SpringBoot配置-1
配置文件1、配置文件配置文件的作用:修改SpringBoot自动配置的默认值。SpringBoot在底层都给我们自动配置好。SpringBoot使用一个全局的配置文件,配置文件名是固定的。
application.properties
application.yml
YAML(YAML Ain’t Markup Language)
YAML A Markup Language:是一个标记语言
YAML isn’t Markup Language:不是一个标记语言
标记语言
以前的配置文件;大多都使用的是 xxxx.xml文件;-
YAML:以数据为中心,比json、xml等更适合做配置文件;
YAML:配置例子
12server: port: 8081
XML:
123<server> <port>8081</port></server>
2、YAML语法1、基本语法
k:(空格)v:表示一对键值对(空格必须有)
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
属 ...
SpringBoot入门-3
Hello World探究1、POM文件1、父项目123456789101112131415<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version></parent>他的父项目是<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.5.9.RELEASE</version> <relativePath>../../spring-boot-dependencies</relative ...