zoukankan      html  css  js  c++  java
  • Springcloud学习笔记36Springboot 项目maven 常用依赖和application.yml配置

    1.Pom文件依赖

    打开mvnrepository仓库:https://mvnrepository.com/,输入spring-boot-starter-web

    1.1 springboot 进行统一的版本管理

    通过标签<parent>:

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.6.RELEASE</version>
        </parent>

    在后面在进行引入依赖的时候,就写作为如下方式:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <!--<version>2.1.6.RELEASE 已经统一指定</version>-->
            </dependency>

    以上的这种统一版本的管理是spring boot默认的方式。

    1.2 构建web项目模块

    核心作用:快速web应用开发

    为了帮我们简化快速搭建并开发一个Web项目,Spring boot为我们提供了spring-boot-starter-web自动配置模块。

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.1.6.RELEASE</version>
            </dependency>

    spring-boot-starter-web默认为我们提供一些SpringMVC必要的组件。

    spring-boot-starter-web默认使用嵌入式的tomcat作为web容器对外提供HTTP服务。

    1.3. Nacos实现服务注册和发现

    注意:实际使用时,需要启动本地单机版nacos,具体见 https://www.cnblogs.com/luckyplj/p/15175191.html

            <!--nacos-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                <version>2.1.0.RELEASE</version>
            </dependency>

    1.4.JDBC驱动包

     mysql-connector-java 是MySQL的JDBC驱动包,用JDBC连接MySQL数据库时必须使用该jar包。

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.13</version>
            </dependency>

    1.5.数据库连接配置

    默认情况下,当我们没有配置任何DataSource,SpringBoot会为我们自动配置一个DataSource,这种自动配置的方式一般适用于测试,开发还是自己配置一个DataSource的实例比较好。
    如果我们的工程只依赖一个数据库,那么,使用DataSource自动配置模块提供的参数是最方便的:
    spring.datasource.url=jdbc:mysql://{datasource host}:3306/{databaseName}
    spring.datasource.username={database username}
    spring.datasource.passwd={database passwd}

    对应的maven 依赖:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>

    1.6.mybatisPlus

    Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入Mybatis-Plus不会对现有的Mybatis构架产生任何影。Mybatis-Plus又简称(MP)是为简化开发,提高开发效率而生.

            <!-- mybatisPlus 核心库 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.2.0</version>
            </dependency>
    
            <!-- 添加 代码生成器 依赖 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>3.2.0</version>
            </dependency>
    
            <!--模板引擎(mybatis-plus自动生成代码需要模板)-->
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.28</version>
            </dependency>

    Mybatis-plus代码生成器具体使用参考:https://www.cnblogs.com/luckyplj/p/15166224.html

    Mybatis-plus操作数据库进行增删改查具体参考:https://www.cnblogs.com/luckyplj/p/15421975.html

    1.7.数据库连接池

     Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。

    阿里 Druid为SpringBoot 提供专门的start依赖,Mybatis 使用 Druid 相对比较简单,我们只需要引入 Druid 的starter 依赖并添加相关的一些配置即可。

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.24</version>
            </dependency>
    
            <!--druid-spring-boot-starter只是在druid基础上进行了一次封装,专门用来整合spring-boot项目-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.1.24</version>
            </dependency>

    1.8.lombok

    lombok既是一个IDE插件,也是一个项目要依赖的jar包.

    lombok是项目需要依赖jar包的原因:因为编译时要用它的注解.
    lombok是插件的原因是他要在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以改变java语法. 他不像spring的依赖注入或者hibernate的orm一样是运行时的特性,而是编译时的特性.
            <!--Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.20</version>
            </dependency>

    1.9 commons-io

    Apache Commons IO是由Apache Foundation创建和维护的Java库。 它提供了许多类,使开发人员可以轻松地完成常见任务并且减少样板代码。

    commons-io是一款处理io流的工具库,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码.

    API链接:http://commons.apache.org/proper/commons-io/apidocs/index.html

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.11.0</version>
    </dependency>

    1.10 commons-lang3

    Apache Commons Lang是Apache最著名的JAVA库 (GitHub上的代码库),它是对java.lang的很好扩展,包含了大量非常实用的工具类,其中用的最多的有StringUtils,DateUtils,NumberUtils等。

    (1)commons-lang3和commons-lang的区别

    lang3是Apache Commons 团队发布的工具包,要求jdk版本在1.5以上,相对于lang来说完全支持java5的特性,废除了一些旧的API。该版本无法兼容旧有版本,于是为了避免冲突改名为lang3。lang包可以说是废弃了,以后请不要使用。采用lang3直接代替即可。

    其中用的最多的有StringUtils,DateUtils,NumberUtils、ArrayUtils等。

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.4</version>
    </dependency>

     2. application.yml文件常用配置

    #application.yml为基本配置文件
    server:
      port: 7010
    
    mybatis-plus:
      # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
      mapper-locations: classpath*:mapper/**/*Mapper.xml
      # 以下配置均有默认值,可以不设置
      global-config:
        db-config:
          logic-not-delete-value: 1
          logic-delete-value: 0
      configuration:
        # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
        map-underscore-to-camel-case: true
        # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
        auto-mapping-behavior: full
    spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/day1?serverTimezone=Asia/Shanghai&useSSL=false
        username: root
        password: plj824
        driver-class-name: com.mysql.cj.jdbc.Driver
        #druid连接池配置
        druid:
          #初始化连接大小
          initial-size: 5
          #最大连接池数量
          max-active: 20
          #最小连接池数量
          min-idle: 3
          #配置获取连接等待超时时间,单位毫秒
          max-wait: 60000
          #配置间隔多久才进行一次检查看,检查需要关闭的空闲连接,单位毫秒
          time-between-eviction-runs-millis: 60000
          #配置一个连接在池中最小的生存时间,单位毫秒
          min-evictable-idle-time-millis: 300000
          validation-query: select 'x'
          #建议配置为true,不影响性能,并且保证安全性,申请连接的时候检测
          test-while-idle: true
          #获取连接时执行检测,建议关闭,影响性能
          test-on-borrow: false
          #归还连接时执行检测,建议关闭,影响性能
          test-on-return: false
          #检测连接是否有效的超时时间
          validation-query-timeout: 10

    参考文献:
    https://www.jianshu.com/p/2093dd0168b9
    https://blog.csdn.net/qq_35812160/article/details/78241340
  • 相关阅读:
    404. 左叶子之和
    112. 路径总和
    110. 平衡二叉树
    513. 找树左下角的值
    博客第一天
    博客开通第七天
    博客第二天
    超级实用且不花哨的js代码大全
    利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息.NET教程,数据库应用
    实现给定一个数据库连接得到数据库下所有的数据表
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15603899.html
Copyright © 2011-2022 走看看