SpringBoot入门:SpringBoot项目属性配置:2种配置风格(.properties风格和yml风格)+ 2种开发环境(dev开发环境和prod生产环境)

SpringBoot入门:SpringBoot项目属性配置

2种配置风格:


第一种:.properties风格

application.properties:

server.port=8081
server.servlet.context-path=/girl



第二种:.yml风格

application.yml

server:
  port: 8082
  servlet:
    context-path: /girl

=================================

2种开发环境(dev开发环境和prod生产环境)

这里我们选择yml风格的配置:

我们创建3个yml配置:

application.yml【这是用来设置共同的配置,在这里面可以设置选择哪种环境】

application-dev.yml【这是开发环境配置】

application-prod.yml【这是生产环境配置】

application.yml共同属性:

[java]  view plain  copy
  1. spring:  
  2.   profiles:  
  3.     active: dev  
  4. #    active: prod  
  5.   datasource:  
  6.     driver-class-name: com.mysql.jdbc.Driver  
  7.     url: jdbc:mysql://127.0.0.1:3306/dbgirl  
  8.     username: root  
  9.     password: 123456  
  10.   jpa:  
  11.     hibernate:  
  12.       ddl-auto: create  
  13.     show-sql: true  

ddl-auto是属于:
hibernate里面的内容,

不止这一种属性:ddl-auto: create

还有:
create: 
每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。 
create-drop : 
每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。 
update: 
最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等 应用第一次运行起来后才会。 
validate : 
每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
auto参数的作用主要用于:自动创建|更新|验证数据库表结构。如果不是此方面的需求建议set value=”none”。 



特别注意:
如果设置成auto参数,那每次重启之后:数据库只有表结构!没有数据!

你可以尝试一下,在自动生成的表里面添加一些数据,重启之后刷新一下,全部都是null!之前的数据,全都被null覆盖了!


总结:
1.请慎重使用此参数,没必要就不要随便用。
2.如果发现数据库表丢失,请检查hibernate.auto的配置

============================================


dev开发环境:

application-dev.yml


[java]  view plain  copy
  1. server:  
  2.   port: 8081  
  3.   
  4. girl:  
  5.   cupSize:  B  
  6.   age:  18  




prod生产环境:

application-prod.yml

[java]  view plain  copy
  1. server:  
  2.   port: 8082  
  3.   
  4. girl:  
  5.   cupSize:  F  
  6.   age:  20  


猜你喜欢

转载自blog.csdn.net/qq_22182989/article/details/80324140