• Spring boot 入门(一):快速搭建Spring boot项目


    (一)Spring boot介绍

      本部分摘自:https://www.zhihu.com/question/64671972/answer/223383505

      Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

      Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。

      说得更简便一些:Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 Spring Boot。

      所以,用最简练的语言概括就是:Spring 是一个“引擎”;Spring MVC 是基于Spring的一个 MVC 框架 ;Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

    (二)创建Spring boot项目

      IDEA+MySql+Freemark+JDK1.8

      1.打开idea

       2.直接选择第一个Create New Project即可! 进入以下界面,注意的是我们也可以使用它的默认网站进行生成,网址就是http://start.spring.io。选中点击next即可。

      3.点击next进入的是以下界面:

      4.点击next进入下一界面,在这里我们就是对项目进行一系列的设置,可以勾上web,mybatis,mysql(这个看你个人需要吧,可以自主选择)

    5.点击next进入下一界面,并点击finish

    6.项目建立完毕,然后进行一些必要的设置操作,主要是maven仓库以及数据库连接池等配置

    7.配置maven仓库,这里也可以使用默认的maven仓库,建议一个项目使用一个maven仓库,以免不同项目之间jar包的冲突

    8.application.yml的设置(项目建成时这个application文件的后缀名不叫yml,是官方推荐把后缀改成yml的,好处是代码有提示)

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

    9.最终项目结构

    10.启动成功

  • 相关阅读:
    Django REST framework
    django写入csv并发送邮件
    GC收集器ParNew&CMS
    编写高质量的JavaScript代码
    Vue3.0 declare it using the "emits" option警告
    vue 3.0 router 跳转动画
    vue3.0 element-plus 表格合并行
    element-plus 时间日期选择器 el-date-picker value-format 无效等
    vue3.0中使用,一个元素中是否包含某一个元素。
    vue axios ajax 获取后端流文件下载
  • 原文地址:https://www.cnblogs.com/dz-boss/p/10118821.html
Copyright © 2020-2023  润新知