zoukankan      html  css  js  c++  java
  • springboot下整合各种配置文件

    本博是在springboot下整合其他中间件,比如,mq,redis,durid,日志。。。等等  以后遇到再更。springboot真是太便捷了,让我们赶紧涌入到springboot的怀抱吧。

    application.yml

    server:
      port: 8080
    spring:
        #profile
        profiles:
            active: dev
        datasource:
            type: com.alibaba.druid.pool.DruidDataSource
            driver-class-name: com.mysql.jdbc.Driver
            filters: stat
            maxActive: 20
            initialSize: 1
            maxWait: 60000
            minIdle: 1
            timeBetweenEvictionRunsMillis: 60000
            minEvictableIdleTimeMillis: 300000
            validationQuery: select 'x'
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            poolPreparedStatements: true
            maxOpenPreparedStatements: 20
         connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

    mybatis: mapper-locations: classpath:com/coder520/mamabike/**/**.xml type-aliases-package: classpath:com.coder520.mamabike.**.entity logging: config: classpath:logback.xml

    application-dev.yml

    spring:
      datasource:
          name: test
          url: jdbc:mysql://localhost:3306/mama-bike?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
          username: root
          password: root
      activemq:
         broker-url: tcp://localhost:61616
         pool:
            enabled: false
      data:
        mongodb:
          uri: mongodb://localhost:27017/mamabike
    
      #reids
      redis:
        host: 127.0.0.1
        port: 6379
        max-idle: 20
        max-total: 100
        max-wait-millis: 3000

    上面是一个总环境,一个开发环境,看名字就知道什么意思,注意名字一定要application-xx.yml  之类的,当然你也可以写在一起。

    DruidConfiguration.java  (druid需要一个配置文件)

    package com.mooc.hourse;
    
    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    import org.springframework.boot.web.servlet.FilterRegistrationBean;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * Created by lilipo on 2018/4/23.
     */
    @Configuration
    public class DruidConfiguration {
        /**
         * 注册一个StatViewServlet
         *
         * @return
         */
        @Bean
        public ServletRegistrationBean DruidStatViewServle2() {
            //org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
    
            //添加初始化参数:initParams
    
            //白名单:
            servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
            //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.
            servletRegistrationBean.addInitParameter("deny", "192.168.1.73");
            //登录查看信息的账号密码.
            servletRegistrationBean.addInitParameter("loginUsername", "123");
            servletRegistrationBean.addInitParameter("loginPassword", "123");
            //是否能够重置数据.
            servletRegistrationBean.addInitParameter("resetEnable", "false");
            return servletRegistrationBean;
        }
    
        /**
         * 注册一个:filterRegistrationBean
         *
         * @return
         */
        @Bean
        public FilterRegistrationBean druidStatFilter2() {
    
            FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
    
            //添加过滤规则.
            filterRegistrationBean.addUrlPatterns("/*");
    
            //添加不需要忽略的格式信息.
            filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
            return filterRegistrationBean;
        }
    
    }

     druid监控界面参考 大神博客:http://www.cnblogs.com/Java3y/p/8652919.html

    访问:localhost:8080/druid/index.html  即可

    附上logback.xml的日志配置

    这个配置直接方法哦资源根目录下就可以。把里面的包名和路径改下就可以直接用,分为正常的日志和错误日志。

    logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <property name="LOG_HOME" value="./logs/demo/" />
    
        <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] %msg%n</pattern>
            </encoder>
        </appender>
    
        <appender name="normalLog"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <FileNamePattern>${LOG_HOME}/web.normal.%d{yyyy-MM-dd}.log
                </FileNamePattern>
                <MaxHistory>30</MaxHistory>
            </rollingPolicy>
            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>10MB</maxFileSize>
            </triggeringPolicy>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
                </pattern>
            </layout>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>DENY</onMatch>
                <onMismatch>ACCEPT</onMismatch>
            </filter>
        </appender>
        <appender name="errorLog"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <FileNamePattern>${LOG_HOME}/web.error.%d{yyyy-MM-dd}.log
                </FileNamePattern>
                <MaxHistory>30</MaxHistory>
            </rollingPolicy>
            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>10MB</maxFileSize>
            </triggeringPolicy>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
                </pattern>
            </layout>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
    
        <logger name="com.example.demo" level="debug" >
            <appender-ref ref="normalLog" />
            <appender-ref ref="errorLog" />
        </logger>
    
    
        <root level="info">
            <appender-ref ref="Console" />
        </root>
    </configuration>

    注意:LOG_HOME的配置是指在你这个项目的根目录下创建logs文件夹 

    最后附上pom文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.qytx</groupId>
        <artifactId>mama-bike</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>mama-bike</name>
        <description>Demo project for Spring Boot</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.10.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
            <!--阿里巴巴数据库连接池-->
            <druid.version>1.0.9</druid.version>
            <!-- 导入Mysql数据库链接jar包 -->
            <jdbc.version>5.1.30</jdbc.version>
            <!-- log4j日志文件管理包版本 -->
            <slf4j.version>1.7.7</slf4j.version>
            <log4j.version>1.2.17</log4j.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-mongodb</artifactId>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
    
            <!-- 连接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
    
            <!-- 导入Mysql数据库链接jar包 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${jdbc.version}</version>
            </dependency>
    
    
            <!--mybatis工具类-->
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>1.3.2</version>
                <scope>test</scope>
            </dependency>
    
            <!-- 格式化对象,方便输出日志 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.1.41</version>
            </dependency>
    
    
            <!--加速开发的工具,可以省略getset和日志类,只需要注解就可以-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.16.6</version>
            </dependency>
    
            <!--commons相关的jar包-->
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.7</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-io</artifactId>
                <version>1.3.2</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.3</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.11</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>
            <!--添加调试工具-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
            </dependency>
    
    
            <!--整合redis-->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
            </dependency>
    
            <!--spring-security-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
    
    
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
            </dependency>
    
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-activemq</artifactId>
            </dependency>
            <!--七牛-->
            <dependency>
                <groupId>com.qiniu</groupId>
                <artifactId>qiniu-java-sdk</artifactId>
                <version>[7.2.0, 7.2.99]</version>
            </dependency>
    
    
            <!--百度云推送-->
            <dependency>
                <groupId>cn.featherfly</groupId>
                <artifactId>bccs-api</artifactId>
                <version>3.0.1</version>
            </dependency>
    
    
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>
        </dependencies>
    
        <build>
    
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <fork>true</fork>
                    </configuration>
                </plugin>
    
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.2</version>
                    <configuration>
                        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    
    </project>
  • 相关阅读:
    新的宝库,新的目标
    聊聊生活——一点人生经验
    消息推送
    基于Hbase与Phoenix的联机实时大数据查询
    【转】DNS的工作原理及解析
    Tomcat NIO分析
    【转】Innodb 共享锁 排他锁 及应用
    java线程池与tomcat线程池策略算法上的异同
    docker 修改 mysql 5.7 sql_mode
    ContOs 将SpringBoot的jar制作成系统服务
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/8635017.html
Copyright © 2011-2022 走看看