Springboot多模块开发二:日志/多环境/druid/JPA/异步调用

1、日志

        
            org.springframework.boot
            spring-boot-starter-logging
        


    
    
        log/xxx-monitoring-service-root.log
        
            
            log/xxx-monitoring-service-root.%d{yyyy-MM-dd}.log

            
            30
            3GB
        
        true
        
            %-5p [%d] %C - %m%n
            UTF-8
        
    
    
        log/xxx-monitoring-service.log
        
            
            xxx-monitoring-service.%d{yyyy-MM-dd}.log

            
            30
            3GB
        
        true
        
            %-5p [%d] %C - %m%n
            UTF-8
        
    

    
        
            %-5p [%d] %C - %m%n
            UTF-8
        
    

    
        
        
    
    
    
    
        
        
    
 

2、多环境配置

我们在开发应用时,通常一个项目会被部署到不同的环境中,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,对于多环境的配置,大部分构建工具或是框架解决的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,Springboot也提供了支持,在Springboot多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
至于哪个具体的配置⽂件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应 {profile}值;
比如: spring.profiles.active=dev 就会加载 application-dev.properties 配置文件中的内容


image.png

3、druid数据库连接池配置

  
                com.alibaba
                druid-spring-boot-starter
                1.1.10
 
  

            mysql
            mysql-connector-java
 
#使用druid数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
# 初始化大小,最小,最大
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=300000
#检测连接是否有效的sql
spring.datasource.druid.validation-query=SELECT 'x'
spring.datasource.druid.validation-query-timeout=60000
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
# PSCache Mysql下建议关闭
spring.datasource.druid.pool-prepared-statements=false
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=-1
#spring.datasource.druid.max-open-prepared-statements= #等价于上面的max-pool-prepared-statement-per-connection-size

4、集成Spring Data JPA

 
            org.springframework.boot
            spring-boot-starter-data-jpa
 
1. 使用Native SQL Query
所谓本地查询,就是使用原生的sql语句(根据数据库的不同,在sql的语法或结构方面可能有所区别)进行查询数据库的操作。

@Query(value = "select * from book b where b.name=?1", nativeQuery = true)
List findByName(String name);

2. 使用in
@Query(value = "select * from trade$seek_purchase_offer where sp_id in (:spIds) and of_enuu = :enUu", nativeQuery = true)
    List getSeekPurchaseOfferList(@Param("spIds") List spIds, @Param("enUu") Long enUu);

5、使用@Async异步调用

注意事项:@Async所修饰的函数不要定义为static类型,这样异步调用不会生效

你可能感兴趣的:(Springboot多模块开发二:日志/多环境/druid/JPA/异步调用)