spring boot 常用配置

WEB 常用配置: application.properties

server.port=80
debug=false

#/     a  , b ,c 三个项目 /地址将产生冲突
#一般情况下,小项目通常都是在Tomcat下部署多个webapp,通过上下文来区分
#在集群或者中大型项目中,通常我们一个Tomcat对应一个webapp,然后通过不同的端口来进行区分(8080/8081/8082)
server.servlet.context-path=/myspringboot
#UTF-8只包含了20000+个中文字符,对于生僻字显示不了
spring.http.encoding.charset=UTF-8
#开启thymeleaf缓存,Thymeleaf热部署
#注意这里有大坑,除了设置cache=false外,还要设置
#file->setting->build->complier-> Build Project Auto... 勾选
spring.thymeleaf.cache=false
#Spring MVC中对输入参数的格式化
spring.mvc.date-format=yyyy-MM-dd
#设置JSON 日期序列化输出格式,北京时间相对伦敦有8个小时时差所以使用GMT+8
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss SSS

#日志输出的地址,SpringBoot默认并没有进行文件输出,只在控制台中进行了打印
logging.file=d:/logs/msb.log
#日志级别 debug->info->warn->error
#默认情况下SpringBoot日志级别为info
#如果设置了debug=true的时候,会自动日志会自动降到debug
#ROOT代表默认全局设置
#logging.level.ROOT=INFO
#设置指定包的输出级别
#logging.level.org.springframework=ERROR
#logging.level.org.apache=ERROR

日志配置: logback.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration>

<!--定义日志保存的路径-->
    <!--1.更改默认的logback.xml为logback-spring.xml
        SpringBoot当看到logback-spring.xml文件存在的时候,才会启动日志的环境切换
        logback.xml文件没法做到
        2. 在需要切换的环境上增加springProfile标签
    -->
    <springProfile name="dev">
        <property name="LOG_HOME" value="d:/logs/dev/" />
    </springProfile>
    <springProfile name="prd">
        <property name="LOG_HOME" value="d:/logs/prd/" />
    </springProfile>

    <!--定义一个控制台输出器,名为console-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--按pattern指定的格式输出日志,编码为UTF-8-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread]  %logger{30} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--定义一个日滚动(每天生成一份)的日志文件-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--按pattern指定的格式输出日志,编码为UTF-8-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread]  %logger{30} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>

        <!-- 定义保存的文件名 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--%d{yyyy-MM-dd}代表每天生成一个新的日志-->
            <fileNamePattern>${LOG_HOME}/mysprintboot_%d{yyyy-MM-dd}.log</fileNamePattern>
            <!--日志最多保存90天,也就是90份-->
            <maxHistory>90</maxHistory>
        </rollingPolicy>
        <!-- 在日滚动文件中,强制只保存错误级别以上信息 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- 定义日志全局最低输出级别是INFO,同时向控制台和日滚动文件输出 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>
</configuration>

自定义配置:conf.properties

 

app.name=springboot
app.version=1.0.0
app.description=spring boot test
app.page-size=20
app.show-advert=true
app.website=http://www.yangdianjie.com

@SpringBootApplication
//在入口类启动时加载config.properties
@PropertySource("classpath:config.properties")
MyspringbootApplication {

    public static void main(String[] args) {

//     SpringApplication.run(MyspringbootApplication.class, args);
        SpringApplication app = new SpringApplication(MyspringbootApplication.class);
        //关闭Banner
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);
    }
}
 

环境切换配置:

application.yml:

spring:
  profiles:
    active: dev
  http:
    encoding:
      charset: utf-8

application-dev.yml:

#debug=true
debug: false
#server.port=80
#前缀相同的配置项,idea会自动进行归纳
server:
 port: 8000
 servlet:
   context-path: /
 thymeleaf:
   cache: false
spring:
  mvc:
    date-format: yyyy-MM-dd
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root

application-prd.yml:

#debug=true
debug: false
#server.port=80
#前缀相同的配置项,idea会自动进行归纳
server:
 port: 80
 servlet:
   context-path: /
#idean对yml有良好支持可自动生成
spring:
  thymeleaf:
    cache: false
  mvc:
    date-format: yyyy-MM-dd
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://166.87.93.124:3310/production
    username: admin
    password: 123!@#$

 

datasource配置:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/scott?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
#display sql in console
spring.jpa.show-sql=true
#format json
spring.jackson.serialization.indent-output=true

logging.level.root = debug
server.port=80
#数据库类型为mysql
spring.datasource.dbType=mysql
#启动时初始化5个连接
spring.datasource.initialSize=20
#最小空闲连接5个
spring.datasource.minIdle=5
#最大连接数量20
spring.datasource.maxActive=20
#获取连接等待时间60秒,超出报错
spring.datasource.maxWait=60000
#每60秒执行一次连接回收器
spring.datasource.timeBetweenEvictionRunsMillis=60000
#5分钟内没有任何操作的空闲连接会被回收
spring.datasource.minEvictableIdleTimeMillis=300000
#验证连接有效性的SQL
spring.datasource.validationQuery=select 'x'
#空闲时校验,建议开启
spring.datasource.testWhileIdle=true
#使用中是否校验有效性,推荐关闭
spring.datasource.testOnBorrow=false
#归还连接时校验有效性,推荐关闭
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=false
#设置过滤器,stat用于接收状态,wall用于防止SQL注入,logback则说明使用logback日志输出
spring.datasource.filters=stat,wall,logback
#统计所有数据源状态
spring.datasource.useGlobalDataSourceStat=true
#sql合并统计,与设置慢SQL时间为500毫秒
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

mybatis 配置:

#Datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/scott?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
#mybatis
#Core Config File
#start width /
mybatis.config-location=classpath:/mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:/mybatis/mapper/*.xml
#show sql
logging.level.com.itlaoqi.springbootmybatis.mapper = debug
#format json
spring.jackson.serialization.indent-output=true

 

generatorConfig.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry  location="E:\repo\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar"/>
    <context id="DB2Tables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://47.93.149.120:3306/bd_decision_engine" userId="root" password="dl2PA64i">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.jffox.cloud.decision.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.jffox.cloud.decision.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        
        <table tableName="rule_set" domainObjectName="RuleSet" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <columnOverride column="comment" jdbcType="VARCHAR"></columnOverride>
        </table>
    </context>
        <table tableName="rule_set" domainObjectName="ruleSet" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
             <columnOverride column="comment" jdbcType="VARCHAR"></columnOverride>
        </table>
      
        
        <table tableName="user_login" domainObjectName="UserLogin" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 
         
      
      </context>

</generatorConfiguration>

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="javaFileEncoding" value="UTF-8"/>
        <!--配置是否使用通用 Mapper 自带的注释扩展,默认 true-->
        <!--<property name="useMapperCommentGenerator" value="false"/>-->

        <!--通用 Mapper 插件,可以生成带注解的实体类-->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
            <property name="caseSensitive" value="true"/>
            <property name="forceAnnotation" value="true"/>
            <property name="beginningDelimiter" value="`"/>
            <property name="endingDelimiter" value="`"/>
        </plugin>

        <!--<jdbcConnection driverClass="com.mysql.jdbc.Driver"-->
                        <!--connectionURL="jdbc:mysql://192.168.55.225:3306/bd_aidp_db"-->
                        <!--userId="dbp_rw"-->
                        <!--password="WsvvVuvPHPFyJPcwpN9X">-->
        <!--</jdbcConnection>-->

        <!--<jdbcConnection driverClass="com.mysql.jdbc.Driver"-->
                        <!--connectionURL="jdbc:mysql://192.168.55.225:3306/bd_search_engine"-->
                        <!--userId="dbp_rw"-->
                        <!--password="WsvvVuvPHPFyJPcwpN9X">-->

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/bd_search_engine"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!--MyBatis 生成器只需要生成 Model-->
        <javaModelGenerator targetPackage="com.jffox.cloud.datax.search.entities.base" targetProject="./src/main/java"/>
        <!--mapper包路径-->
        <!--<javaClientGenerator targetPackage="com.jffox.cloud.datax.search.mapper.hbaseindex" targetProject="./src/main/java" type="XMLMAPPER"/>-->
        <table tableName="ref_dataitem$api">
            <generatedKey column="id" sqlStatement="JDBC"/>
        </table>
    </context>
</generatorConfiguration>

druid配置:

@Data
@Slf4j
@Configuration
public class DruidConfig {



//     @Bean(destroyMethod = "close", initMethod = "init")
       @Primary
       @ConfigurationProperties(prefix = "spring.datasource")
       public DataSource druidDataSource() {
           DruidDataSource druidDataSource = new DruidDataSource();
           return druidDataSource;
       }

       /**
        * 注册一个StatViewServlet.
        * @return
        */
       @Bean
       public ServletRegistrationBean druidStatViewServlet(){
           //org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
           ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");

           //添加初始化参数:initParams
           //白名单:
           servletRegistrationBean.addInitParameter("allow","*");
           //登录查看信息的账号密码.
           servletRegistrationBean.addInitParameter("loginUsername","admin");
           servletRegistrationBean.addInitParameter("loginPassword","123456");
           //是否能够重置数据.
           servletRegistrationBean.addInitParameter("resetEnable","false");
           return servletRegistrationBean;
       }

       /**
        * 注册一个:filterRegistrationBean.
        * @return
        */
       @Bean
       public FilterRegistrationBean druidStatFilter(){

           FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());

           //添加过滤规则.
           filterRegistrationBean.addUrlPatterns("/*");
           //添加不需要忽略的格式信息.
           filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
           return filterRegistrationBean;
       }
   }

 

热部署与打包配置:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值