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以及各种数据监控,队列,测试系统等

  • 相关阅读:
    每日一水 POJ8道水题
    编译和使用 MySQL C++ Connector
    j2ee model1模型完成分页逻辑的实现 详解!
    DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号
    指向结构体变量的指针
    EOSS V3.0 企业运营支撑系统(基于RBAC原理的权限管理)
    MybatisGen1.0 Mybatis JavaBean Mapper生成工具
    The table name must be enclosed in double quotation marks or sqare bracket while accessing EXCEL by
    资源-Android:Android
    软件-开发软件:Android Studio
  • 原文地址:https://www.cnblogs.com/YC-L/p/14286173.html
Copyright © 2011-2022 走看看