SpringBoot+JPA的配置

SpringBoot的一大特点来源于

      1.去除了大量的xml配置文件

      2.简化复杂的依赖管理

      3.配合各种starter使用,基本上可以做到自动化配置

      4.快速启动容器

      5. 配合Maven或Gradle等构件工具打成Jar包后,Java -jar 进行部署运行还是蛮简单的

创建独立Spring应用程序,嵌入式Tomcat,Jetty容器,无需部署WAR包,简化Maven及Gradle配置,尽可能的自动化配置Spring,直接植入产品环境下的实用功能,比如度量指标、健康检查及扩展配置等,无需代码生成及XML配置。

下面为SpringBoot的简要配置 加上七牛存储作为缓存和使用security作为权限的管理(这一部分目前正在学习)

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8
    username: root
    password: abc123
    # 初始化大小,最小,最大
    initialSize: 5
    minIdle: 5
    maxActive: 20
    # 配置获取连接等待超时的时间
    maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    # 合并多个DruidDataSource的监控数据
    #useGlobalDataSourceStat=true

  jpa:
    database: MYSQL
    show-sql: true
  #Hibernate ddl auto (validate|create|create-drop|update)在配置里面spring.jpa.hibernate.ddl-auto
中有5节点值,1.create:每次加载都会加载hibernate会自动创建表,以后启动会覆盖之前的表,这个一般不予使用

1.create-drop:每次加载的时候都根据实体类生成表,但是在sessionFactory关闭的时候会删除
    hibernate:
      ddl-auto: update
      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5Dialect

  thymeleaf:
    cache: false
  #maxfilesize  指定上传文件允许的最大大小 默认1M  maxRequestSize:指定允许表单请求的最大数据大小默认10M
  http:
    multipart:
      max-file-size: 5MB
      max-request-size: 15MB
server:
  port: 8080
  tomcat:
    uri-encoding: UTF-8
  context-path: /taleblog
#七牛的存储
qiniu:
  imgSpace: ycimgs
  AK: sj0iFkqo-dmmFz3u6KkKuBDqRxI4EVqnVUn7I2U_
  SK: 7ejmThWZQCTrJnKOU5y8-5B2RNLWiGPeADWU95Co
#url 的权限访问。#一些资源没有配置权限访问例如:show操作没有
#配置什么角色可以访问,那么它可以被所有的用户的访问。
securityconfig:
  openway: yml #取值(yml代表配置文件读取权限信息,sql代表从数据库读取权限信息)
  logoutsuccssurl: /
  permitall: /rest/**,/bbs**,/login
  deniedpage: /deny
  #这里需要配置较详细的权限。注意权限不能互斥
  urlroles: /role/index = admin;
            /role/add = admin;
            /role/edit/* = sa;
            /role/delete/** = sa;
            /order/delete/** = admin

## LOG4J配置
#log4j.rootCategory=INFO, stdout
#
## 控制台输出
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

#spring.redis.host=localhost
#spring.redis.port=8080
#spring.redis.pool.max-idle=8
#spring.redis.pool.min-idle=0
#spring.redis.pool.max-active=8
#spring.redis.pool.max-wait=-1

#amazon.associateId = habuma-20

##添加那个目录的文件需要restart
#spring.devtools.restart.additional-paths=src/main/java
##排除那个目录的文件不需要restart
#spring.devtools.restart.exclude=static/**,public/**

在配置里面spring.jpa.hibernate.ddl-auto的节点配置中有5节点值

1.create:每次加载都会加载hibernate会自动创建表,以后启动会覆盖之前的表,这个一般不予使用

2.create-drop:每次加载的时候都根据实体类创建表,但是在sessionFactory关闭的时候会删除表单

3.update:加载的是会根据实体类创建表,这些表名是依据@Entity和@Table的注释的值,SessionFactory关闭的话也不会删除,且斜刺加载hibernate时根据实体类更新结构或者有新的实体类的话 就新增表

4.validate:启动时验证表结构,不会创建表。

5.none:启动时不做任何操作。


从大三开始这么久 从开始的学着懵懵懂懂 都现在也是懵懵懂懂的。动手做过的东西也不是很多,从开始的学习动力十足到现在慢慢的开始懒了下来,先随便写一个有关学习方面的 希望自己能坚持 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页