• 使用Idea搭建Spring-boot微服务


     新建项目

     选择Spring Initializer

     

     填写和选择相关配置

     

     依赖选择

     

    •  Spring boot devtools,热部署工具
    •  Spring configuration processor, 配置处理器,Spring常用yml配置文件,当碰到xml或者properties时,需要解析,就用到了这个依赖
    • spring-web 依赖包含Servlet和Portlet环境中常用的web特定工具

     Spring session

    • 提供用户session管理的API和实现
    • 提供HttpSession,以中立的方式取代web容器的session,比如tomcat中的session
    • 支持集群的session处理,不必绑定到具体的web容器去解决集群下的session共享问题

     Spring Web Services(Spring WS)

     是基于 Spring 框架的 Web 服务框架,主要侧重于基于文档驱动的Web服务,提供 SOAP 服务开发,允许通过多种方式创建 Web 服务

     

     Spring security

    • 认证 (你是谁)
    • 授权 (你能干什么)
    • 攻击防护 (防止伪造身份) 

     其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authentication Filter 用来认证用户的身份,一个在spring security中一种过滤器处理一种认证方式

     

     Spring Data JPA

     JPA(Java persistence API),意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR 338,这些接口所在包为javax.persistence,详细内容可参考https://github.com/javaee/jpa-spec

     JPA的出现主要是为了简化持久层开发以及整合ORM技术,结束Hibernate、TopLink、JDO等ORM框架各自为营的局面。

     JPA是在吸收现有ORM框架的基础上发展而来,易于使用,伸缩性强。

     总的来说,JPA包括以下3方面的技术:

    • ORM映射元数据: 支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系
    • API: 操作实体对象来执行CRUD操作
    • 查询语言: 通过面向对象而非面向数据库的查询语言(JPQL)查询数据,避免程序的SQL语句紧密耦合

     数据库迁移工具(Migration)

     Liquibase和flyway的侧重点不同

     Flyway(适合个人小项目)

    1. 易于配置-只需要一个文件夹位置,并保持名称语法V1__file.sql
    2. 基于SQL的,但需要编写特定数据库引擎的正确语法(MySQL、DB2、
    3. 是基于Java的,所以添加自定义配置来清理、执行等更容易。

     Liquibase(适合企业级应用,大项目)

    1. 需要一个主文件“Changelog”来跟踪所有已执行的变更集。
    2. 是基于XML的,因此你需要使用特定的清算基标记来创建SQL代码。这对于将代码迁移到不同的DB引擎是完美的:你不需要更改任何东西,只有DB驱动程序将告诉清算库如何将XML标记转换为正确的SQL语法。
    3. 如果使用来自液化库的SQL标记,那么将不会利用第2点,所以最好使用Flyway。
    4. Liquibase提供了一个JAR来自动将现有DB迁移到所有需要的XML文件,因此不需要手动处理它们。非常有用。

     

     Spring Validation

    • Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。
    • hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。
    • Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。

     

     Testcontainers

     TestContainers太棒了! 它提供了一种非常方便的方法来启动和清除JUnit测试中的Docker容器。 此功能对于将应用程序与真实数据库以及可使用docker映像的任何其他资源进行集成测试非常有用

     Contract verifier

     通过支持消费者驱动的契约(CDC)开发,将TDD提升到软件体系结构的级别

     然后点击next,我们就可以愉快的通过官方网站的文档来做简单的小项目了!

     如果涉及到分布式,集群之类的大系统,还需要使用Spring cloud的api以及各种数据监控,队列,测试系统等

  • 相关阅读:
    HDU3336 Count the string —— KMP next数组
    CodeForces
    51Nod 1627 瞬间移动 —— 组合数学
    51Nod 1158 全是1的最大子矩阵 —— 预处理 + 暴力枚举 or 单调栈
    51Nod 1225 余数之和 —— 分区枚举
    51Nod 1084 矩阵取数问题 V2 —— 最小费用最大流 or 多线程DP
    51Nod 机器人走方格 V3 —— 卡特兰数、Lucas定理
    51Nod XOR key —— 区间最大异或值 可持久化字典树
    HDU4825 Xor Sum —— Trie树
    51Nod 1515 明辨是非 —— 并查集 + 启发式合并
  • 原文地址:https://www.cnblogs.com/YC-L/p/14286173.html
Copyright © 2020-2023  润新知