zoukankan      html  css  js  c++  java
  • 使用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以及各种数据监控,队列,测试系统等

  • 相关阅读:
    linux安装nodejs
    Ubuntu下配置TFTP服务以及 android下使用TFTP
    笔记-《数据通信与网络教程》-第一章
    X86汇编基础-《Linux内核分析》云课堂笔记
    文章点击量排行TOP100-IBM power8算法挑战赛第三期
    LeetCode:Climbing Stairs
    LeetCode:Search for a Range
    LeetCode:Longest Substring Without Repeating Characters
    LeetCode:Linked List Cycle II
    LeetCode:Merge Sorted Array
  • 原文地址:https://www.cnblogs.com/YC-L/p/14286173.html
Copyright © 2011-2022 走看看