SpringBoot开篇

  • 18年,一笔狗销;19年,猪事顺利
    • 新的开篇 SpringBoot
    • 什么是SpringBoot
    • 初步了解 SpringBoot
      • SpringBoot 提供常用的starter
      • Hello,SpringBoot 创建第一个项目

18年,一笔狗销;19年,猪事顺利

再次回到CSDN博客上和大家一起学习哈,加油 2019,加油程序猿。

新的开篇 SpringBoot

最近小编在读一本,中国工信出版集团 电子工业出版社 出版的一本《Spring Boot 2 精髓》书,从构建小系统到架构分布式大系统。由李家智 著。感觉还是很不错的,将学到的内容分享给大家。

什么是SpringBoot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过我之前的学习,大致理解为这样的:
  在我学习完 JavaWeb (html、css、JavaScript、servlet、jsp)的时,假如要写一个前后台兼顾的网站的话,每一个页面请求,都需要写一个对应的Servlet,这就相当于,每一个页面,实现的功能越多,执行的方法也就越多,发送给后台的请求也就越多,要写的Servlet也就越多,对应的包体系结构也就越大。
  紧接着,我们对框架进行了学习,SSH(Spring+structs2+hibernate)以及SSM(Spring+SpringMVC+mybatis),两个强大的框架,虽然说现在大多数人都在使用的是SSM框架,SSH已经是很少使用的了,但是我仍去学习了,因为我更关注的是SSH为什么会趋于劣势,这里就不详细的说了。SSM框架最初的在创建的时候,我们在数据库表结构完整的情况下,需要编写逆向工程的配置文件和启动类,来完成逆向工程生成mapper和entity,也有许多人喜欢用 通用mapper,这不仅仅都是单表操作,而且最重要的是要编写配置文件。在完成上述操作之后,我们还要去编写 Spring 的配置文件,applicationContext.xml(最初学习的时候,我还要将一个Spring 的配置文件拆分为三部分:applicationContext-dao.xml、applicationContext-service.xml 以及applicationContext-tx.xml ,容易记住Spring 都进行了那些操作),这些完成后,还要编写 Mybatis的配置文件,虽然没有很多内容了,数据源也不需要配置了,但是 通用mapper 和分页助手毕竟是人家发布的,你要写在别处也不合适(我一直将通用mapper和分页助手写在这个位置,别处没有尝试,各位大佬又提议的,欢迎在评论区留言),终究是SSM框架,怎么能缺少 SpringMVC的配置文件呢。三年部分框架的配置文件配置完成,看着都是好麻烦的啊。这便开始有了SpringBoot。
  SpringBoot 的好处,使用spring boot可以非常方便、通过maven架构项目快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。

  • src/main/java 程序开发以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 测试程序

项目包结构的建议:
1、Application.java 建议放到跟目录下面,主要用于做一些框架配置
2、domain目录主要用于实体(Entity)与数据访问层(Repository)
3、service 层主要是业务类代码
4、controller 负责页面访问控制

构建项目的使用
1、在项目的pom.xml 文件中引入需要的 maven 支持模块,可以通过maven仓库查找这些需要的内容。(maven仓库:https://mvnrepository.com/)
2、在标注有 @SpringBootApplication的注解类上启动。启动主程序,打开浏览器访问http://localhost:8080/项目名/Controller层的mapping设置,就可以看到效果了。

初步了解 SpringBoot

SpringBoot 简化了Spring 应用开发,不需要配置就能运行Spring 应用,SpringBoot管理Spring 容器、第三方插件,并提供很多默认系统级服务。大部分Spring应用,无论是简单的Web系统,还是构建复杂系统,都只需要少量的配置和代码就能完成。
SpringBoot 通过 Starter 来提供系统级服务,SpringBoot 已经提供了一系列Starter,你也可以开发自己的Starter 。Spring Boot 会自动为你配置好Spring 需要的各种配置文件、Redis 的jar包,依赖包,以及合适的版本。

SpringBoot 提供常用的starter

Spring Boot 应用启动器有如下的内容:

Hello,SpringBoot 创建第一个项目

  • 创建的是 Maven 工程。
  • 在 pom.xml 中增加 Web 支持,
    • 搭建 Web 应用,必须添加 spring-boot-starter-web 依赖。
    • spring-boot-dependencies 默认使用的是内置的tomcat,并支持SpringMVC、RESTful 服务。
  • 使用热部署:spring-boot-devtools 依赖。
  • 添加 REST 支持
    • 对于多个系统互相访问,最好不要直接访问对方的数据库,而应该采用类似的RESTful架构,封装了逻辑的接口。这样,对方系统的数据库变更,业务逻辑变化或者版本升级,都不会影响其他系统,后边会细说。

SpringBoot 开篇相关推荐

  1. springboot开篇 (一)简单邮件发送

    上篇终结篇为spring 发送邮件,这次将使用springboot 发送邮件,同时本篇将作为springboot入门篇. 新建一个工程..工程目录结构如下,此次使用idea进行开发.对于一个长期使用e ...

  2. springboot创建parent_Spring Boot 开篇:快速入门

    背景 想想之前搭建一个WEB项目,不管项目的功能简单或复杂,都需要哪些步骤: 配置 web.xml,加载 Spring 和 Spring mvc 配置数据库连接.配置 Spring 事务 配置加载配置 ...

  3. springboot controller访问不到_Spring Boot 开篇:快速入门

    背景 想想之前搭建一个WEB项目,不管项目的功能简单或复杂,都需要哪些步骤: 配置 web.xml,加载 Spring 和 Spring mvc 配置数据库连接.配置 Spring 事务 配置加载配置 ...

  4. springboot项目结构_从零搭建Spring Boot脚手架(1):开篇以及技术选型

    1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎 ...

  5. 基于SpringBoot+SpringCloud+Vue前后端分离项目实战 --开篇

    本文目录 前言 做项目的三大好处 强强联手(天狗组合) 专栏作者简介 专栏的优势 后端规划 1. SpringBoot 和 SpringCloud 的选择 2. Mybatis 和 MybatisPl ...

  6. SpringBoot之@EnableConfigurationProperties分析

    我们在用SpringBoot进行项目开发的时候,基本上都使用过@ConfigurationProperties这个注解,我们在之前的文章中也说过ConfigurationPropertiesBindi ...

  7. 推荐:一款Java开源的Springboot 即时通讯 IM 聊天系统

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 # 开篇 电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天 ...

  8. SpringBoot+Mybatis配置Druid多数据源

    开篇之前,说一句题外话.多数据源和动态数据源的区别. 多数据源,一般用于对接多个业务上独立的数据库(可能异构数据库). 动态数据源,一般用于大型应用对数据切分. 配置参考 如何配置多数据源,网上教程一 ...

  9. 《从零构建前后分离web项目》:开篇 - 纵观WEB历史演变

    开篇 : 纵观WEB历史演变 在校学习和几年工作工作中不知不觉经历了一半的 WEB 历史演变.对近几年的发展比较了解,结合经验聊聊 WEB 发展历史. 演变不易,但也是必然,因为为人始终要进步. WE ...

最新文章

  1. 调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优。
  2. 数组常见的遍历循环方法、数组的循环遍历的效率对比
  3. 简单记录js中的this关键字
  4. Spring Cloud构建微服务架构:消息驱动的微服务(入门)【Dalston版】
  5. win10下 Ubuntu 18.04 LTS 的安装及 rlt8821ce网卡驱动的安装
  6. java编程思想第四版第十四章 类型信息习题
  7. 二叉树——医院设置(洛谷 P1364)
  8. kafka Linux 下启动服务 测试,Linux下安装部署Kafka分布式集群与测试
  9. “强化学习说白了,是建立分布到分布之间的映射”?数学角度谈谈个人观点
  10. 《一切皆是映射:代码的本质》哈希算法 (Hash)
  11. 基于openharmony的储物精灵
  12. 初学Python目前我认为较容易理解的求100以内质数(素数)的方法。
  13. 零基础的学习者应该怎么开始学习呢?Python核心知识学习思维分享
  14. 武汉大学计算机学院宿舍楼名称,武汉大学寝室排名 寝室图片
  15. Rails Controller中的concerns测试编写
  16. 简约至上交互式设计四策略
  17. 金融类APP上架经验分享
  18. cocos creator(12)
  19. centos 7.6 ——AWstate 日志分析工具——优化域名
  20. Hive启动报错 java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang

热门文章

  1. LCT(link-cut-tree)入门
  2. puppeteer导出pdf图像丢失
  3. 使用javac xxx.java进行编译的时候不能输出汉字字符
  4. Multisim模电仿真实验2
  5. cad二次开发:模型空间中的点,变换得到布局空间的点坐标
  6. OpenHD改造实现廉价高清数字图传(树莓派+PC )—(三)OpenVG和libshapes在PC上的移植
  7. 蓝牙架构(3)—— 1 蓝牙概述 (1.3 AMP概述 1.4 术语命名 1.5 总结)
  8. 3D版中国象棋之结语
  9. 成为Linux大神计划书
  10. 牛客练习赛41 D.最小相似度(思维+bfs)