做个网站多少钱一年我的网站是面向全国的选哪个公司的服务器比较好
一、配置高级
1.临时属性设置
1.1引出问题
-  
如果目标电脑上8080端口已经使用,再次使用该端口会出现端口占用问题

 -  
解决方式
- 重新更换配置文件修改端口打包
 - 通过临时属性配置新端口
 - 更换配置文件
 
 
1.2添加临时属性配置
-  
通过临时属性修改8080端口
java -jar 项目.jar --server.port=8081 -  
添加web部分使用 dbug 日志
java -jar springboot-ssm-0.0.1-SNAPSHOT.jar --server.port=8081 --logging.level.org.springframework.web=debug java -jar springboot-ssm-0.0.1-SNAPSHOT.jar --server.port=8081 --logging.level.root=debug -  
可以分别对
root,web,hibernate进行临时日志设置

 
2.属性加载优先级
-  
文档地址
https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config
 -  
优先级说明

 -  
注意:从上往下优先级越来越高
-  
开发中使用的是3,刚才使用命令行使用的是11
 -  
在开发中,会遇见自己定义属性名和系统变量名一致的情况,导致自己配置的数据被覆盖
user:name: sy -  
实际取出来值是电脑用户名称值

 -  
以后如果你们再开发中,自己定义变量但是发现取出来的不是想要的值时,优先考虑属性优先级问题
 
 -  
 
3.开发环境使用临时属性设置
-  
设置主流方式步骤

 -  
了解内容
public static void main(String[] args) {args[0] = "--server.port=9999";SpringApplication.run(SpringbootSsmApplication.class, args); } -  
问题:如果需要修改的配置很多,那么使用这种手动输入的方式很容易出错,可以通过配置文件解决
 
4.配置文件分类
- 类路径下配置文件 
- 开发人员使用
 
 - 类路径下config目录下配置文件 
- 项目经理、技术经理使用
 
 - 程序包所在目录中配置文件 
- 运维人员、架构师使用
 
 - 程序包所在目录中config目录下配置文件 
- 最高等级,技术总监
 
 - 应用场景 
- A 开发项目时候使用的是类路径下配置文件
 - A 开发完成之后,需要部署到测试环境,需要修改配置
 - 测试B测试出问题,A 需要去修改bug(需要把配置修改回来)
 - 测试没问题之后,A需要再次修改生产环境的配置
 
 
4.1类路径下配置文件
-  
类路径下配置文件:就是我们默认使用的配置文件,优先级是最低

 
4.2类路径下config目录下配置文件
-  
类路径下config目录下配置

 
4.3程序包所在目录中配置文件
-  
程序包所在目录中配置文件

 
4.4程序包所在目录中config目录下配置文件
-  
程序包所在目录中config目录下配置文件

 
4.5通过临时变量设置配置文件
-  
通过名称设置图示

 -  
通过具体路径设置具体文件

 
5.@ConfigurationProperties
5.1.回顾基础使用
-  
绑定类
@Data @Component @ConfigurationProperties(prefix = "dbconfig") public class DbConfig {private String url;private String username; } -  
配置文件
dbconfig.url=123123 dbconfig.username=sy -  
加入如下的依赖,可以解决提示问题
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId> </dependency> 
5.2配置第三方类
-  
配置德鲁伊连接池
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.15</version> </dependency> -  
配置三方bean
@Bean @ConfigurationProperties(prefix = "druid") public DruidDataSource dataSource(){DruidDataSource druidDataSource = new DruidDataSource();return druidDataSource; } 
6.宽松绑定/松散绑定
-  
如果你这样配置会报错
@Component @ConfigurationProperties(prefix = "dbConfig") public class DbConfig {private String url;private String username; } -  
报错如下

 -  
宽松绑定
dbConfig.url=123123 dbConfig.user_name=sy db-config.PASSWORD=12345223123 db-config.home-address=bj@Data @Component @ConfigurationProperties(prefix = "db-config") public class DbConfig {private String url;private String username;private String password;private String homeAddress; } 
7.常用计量单位绑定
-  
配置时间需求
db-config.timeout=600 -  
使用 Duration 表示时间
@DurationUnit(ChronoUnit.HOURS) private Duration timeout; -  
使用DataSize来表示空间
@DataSizeUnit(DataUnit.MEGABYTES) private DataSize datasize; 
8.检验
-  
导入依赖
<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId> </dependency> -  
检验配置如下
@Max(value = 9999,message = "无效的配置") @Min(value = 80,message = "无效的配置") private int port; 
9.数据类型转换
-  
之前学生出现的一个问题

 -  
他的密码 010101

 -  
配置文件中,可以通过引号的方式解决
 -  
boolean 类型直接使用 true / false
 
