zoukankan      html  css  js  c++  java
  • Spring Boot 1.5.x 基础学习示例

    一、为啥要学Spring Boot?

      

      今年从原来.Net Team“”转到了Java Team开始了微服务开发的工作,接触了Spring Boot这个新瓶装旧酒的技术,也初步了解了微服务架构。Spring Boot是Spring4之后整合的产物,它摒弃了原来Spring的一大堆的配置,采用了约定大于配置的方式,还是原来的配方,还是原来的佐料,让各路开发人员能够快速地使用Java开发微服务程序。其实,当我们了解了Spring Boot之后,会发现ASP.Net Core和Spring Boot很像,他们都是适合做微服务的技术。不过,对于Spring Boot的资料和相关的生态"看"起来要好一些(比如我现在公司已经没有多少.Net的新项目了),对于.Net程序员来讲,多掌握一门开发技术的需求越来越明显。这两年间,博客园的.Net程序员已有不少转到了或者已经掌握了基于Java的微服务开发技术(Spring Boot & Spring Cloud),这也说明了市场的需求变化。对于我来说,虽然我不排斥Java也在积极学习Java,但我还是更爱.Net Core一些(没办法,C#用的最爽),可能这就是初恋的味道把。但是,我也强烈建议.Net程序员多掌握一门技术,特别是在当今Spring Boot等框架已经为我们降低了很多学习门槛的基础上,更应该多多学习和吸收其他技术栈及生态圈好的东西来充实自己,进而获得进一步的自我提升。

      在学习途中,我把自己做的Demo记录下来上传到了GitHub,也是因为在学习途中浏览的博客示例代码很多由于版本过低及API变化无法正常运行,踩了一些坑之后把能够正常运行的Code与各位分享,让各位童鞋尽量少走弯路。

    二、推荐学习资料

      (1)程序猿DD:《Spring Boot基础教程》=> 我们项目组的指定学习资料,言简意赅,点到即止

      (2)纯洁的微笑:《Spring Boot 1.x 与 2.0 基础教程》=> 可以作为程序猿DD的补充,且增加了很多2.0的内容

      (3)EdisonChou, 《Java微服务之Spring Boot on Docker》=> 将Spring Boot运行在Docker上,使用Docker Compose编排微服务

    三、示例结构说明

      此示例项目主要基于程序猿DD的SpringBoot教程所做的学习实践,基于SprintBoot 1.5.15版本,每个项目均演示了部分内容。由于程序猿DD的文章示例版本太旧,部分Code无法正常运行,所以在学习途中(非SpringBoot2.0版本的学习)可以参考本示例Demo来学习。

      

      下面是各个子项目主要演示的内容:

    • msadv1 : Hello World & 配置文件的使用(多环境配置文件的使用) & MVC Controller & 热部署
    • msadv2 : 分层的CRUD RESTful API示例 & 单元测试(针对Controller和Service及Mock的使用)
    • msadv3 : 静态资源的导入 & Thymeleaf模板的使用 & Swagger API Doc & 统一异常处理
    • msadv4 : Spring Security基本使用 & JdbcTemplate访问数据库 & Spring-data-jpa访问数据库
    • msadv5 : 多数据源配置(基于JdbcTemplate 与 基于Spring-data-jpa)
    • msadv6 : Redis & MongoDB 集成与基本使用
    • msadv7 : 整合 MyBatis & MyBatis 注解配置的使用
    • msadv8 : Spring Boot中的事务管理 & 使用Flyway管理数据库版本
    • msadv9 : Spring Boot中的缓存注解 & 使用Ehcache作为缓存
    • msadv10 : 集成使用Redis作为缓存
    • msadv11 : 使用log4j记录日志 & 多环境(dev,test,prod)不同日志(INFO,DEBUG,ERROR)级别的控制
    • msadv12 : 使用log4j实现http请求日志存入MongoDB & 动态修改日志级别(1.5.x新特性)
    • msadv13 : RabbitMQ的基本集成和使用
    • msadv14 : 使用@Scheduled创建定时任务 & 使用@Async实现异步调用
    • msadv15 : 使用@Async实现异步调用:自定义线程池
    • msadv16 : 使用@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭
    • msadv17 : 使用@Async实现异步调用:使用Future & 定义超时
    • msadv18 : 实现邮件发送:简单邮件、带附件的邮件、带资源的文件以及基于模板的邮件 & 使用spring boot actuator监控端点
    • msadv19 : 自定义启动Banner & 使用Spring StateMachine框架实现状态机 & 使用exclude排除不必要的自动化配置的加载

    示例地址

      GitHub => https://github.com/EdisonChou/EDC.SpringBoot.Learning

    推荐工具

      

      IDE => Intellij Idea Community 2018

      (PS: 如果是.Net程序猿想要学习SpringBoot,强烈建议更改快捷键与Visual Studio保持一致,这样能加快开发效率,如不了解如何修改,可以参考邹琼俊《从.Net到Java - Idea and Start Spring Boot》)

      

      Plugin => 阿里巴巴代码规约

  • 相关阅读:
    Centos网络时好时超时问题解决
    关于C#异常的处理
    获取Excel工作薄中Sheet页(工作表)名集合
    C# shell32.dll 的用法
    C#将Excel数据表导入SQL数据库的两种方法
    Modbus RTU通信协议详解以及与Modbus TCP通信协议之间的区别和联系
    C# 多线程、异步、同步之间的联系与区别
    在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体
    HslCommunication组件库使用说明
    C#判断dataGridView1 点击的是哪一列上的按钮
  • 原文地址:https://www.cnblogs.com/edisonchou/p/java_spring_boot_foundation_demos.html
Copyright © 2011-2022 走看看