首页
学习
活动
专区
圈层
工具
发布

Spring Boot:定制自己的starter

在学习Spring Boot的过程中,接触最多的就是starter。...可以认为starter是一种服务——使得使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息,由Spring Boot自动通过classpath路径下的类发现需要的Bean,并织入bean...Spring Boot的自动配置、Command-line Runner一文中曾利用StartupRunner类在程序运行启动后首先查询数据库中书的数目,现在换个需求:在系统启动后打印各个实体的数量。...自己的starter简单演示.png 分析 正规的starter是一个独立的工程,然后在maven中新仓库注册发布,其他开发人员就可以使用你的starter了。...org.springframework.test.contex.TestExecutionListener Spring Boot的starter在编译时不需要依赖Spring Boot的库。

93800
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    开发一个属于自己的Spring Boot Starter

    关于Starter Spring Boot秉承“约定大于配置”的开发方式,使得我们基于Spring Boot开发项目的效率变得十分高。...相信使用过Spring Boot的小伙伴都会发现,当我们要用到某个Spring提供的组件时,只需要在pom.xml文件中添加该组件的starter依赖就能集成到项目中。...例如,在pom.xml文件中添加spring-boot-starter-web依赖,就能让项目整合Spring MVC的功能。...动手开发一个Starter 通过以上的描述,我们可以简单地将starter看作是对一个组件功能粒度较大的模块化封装,包括了所需依赖包的整合及基础配置和自动装配等。...除了Spring官方提供的starter外,我们自己也可以根据业务开发一个starter。例如,当项目积累到一定程度时,我们可以将一些通用功能下沉为一个starter。

    1K31

    开发一个属于自己的Spring Boot Starter

    关于Starter Spring Boot秉承“约定大于配置”的开发方式,使得我们基于Spring Boot开发项目的效率变得十分高。...相信使用过Spring Boot的小伙伴都会发现,当我们要用到某个Spring提供的组件时,只需要在pom.xml文件中添加该组件的starter依赖就能集成到项目中。...例如,在pom.xml文件中添加spring-boot-starter-web依赖,就能让项目整合Spring MVC的功能。...以及完成了许多基础配置和自动装配,让我们可以在最简使用下,跳过绝大部分的配置,从而达到开箱即用的效果。这也是Spring Boot实现“约定大于配置”的核心之一。...除了Spring官方提供的starter外,我们自己也可以根据业务开发一个starter。例如,当项目积累到一定程度时,我们可以将一些通用功能下沉为一个starter。

    5.1K30

    像Spring Boot那样创建一个你自己的Starter

    如果你所在的公司要开发一个共享的lib,或者如果你想要为开源世界做点贡献,你也许想要开发你自己的自定义的自动配置类以及你自己的starter pom。...这些自动配置类虽然在一个单独的jar包中,但却依然能够被Spring Boot获取到。 自动配置(Auto-configuration)其实就是一个starter。...starter这个词是不是很熟悉,没错,就是Spring Boot中的那些看起来略屌的启动器。现在你可以自己编写一个自己的starter了。...你还需要在你的starter项目中的resources文件夹下加上META-INF /spring.factories这样的目录和文件,Spring Boot会检查你发布的jar中是否存在META-INF...一个完整的Spring Boot 的starter可以包含两个组件(注意:是“可以”包含): autoconfigure 模块。

    1K90

    简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽

    项目简介 该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档,简化原生使用swagger2的整合代码。...GitHub:https://github.com/dyc87112/spring-boot-starter-swagger 码云:http://git.oschina.net/didispace/spring-boot-starter-swagger...博客:http://blog.didispace.com 小工具一枚,欢迎使用和Star支持,如使用过程中碰到问题,可以提出Issue,我会尽力完善该Starter 版本基础 Spring Boot:...参数配置 更细致的配置内容参考如下: 配置示例 swagger.title=spring-boot-starter-swagger swagger.description=Starter for swagger...其中, exclude-path可以配合 management.context-path=/ops设置的spring boot actuator的context-path来排除所有监控端点。

    1.1K60

    《深入实践Spring Boot》阅读笔记之一:基础应用开发

    书籍整体结构 Spring Boot 是在Spring框架基础上创建的一个全新框架,其设计目的是简化Spring应用的搭建和开发过程,不但具有Spring的所有优秀特性,而且具有如下显著特点: 为Spring...第一部分 - 技术维度 针对性地介绍了Spring Boot入门、数据库的使用和访问性能提升、界面设计、安全设计等重要技术知识,以实用性为主,帮助我们快速掌握Spring Boot开发方法和精髓,尽快融入生产实践中...实体持久化是Spring Data提供的强大功能,通过继承于JPA资源库JpaRepository接口,就可以对数据库进行增删改查、分页查询和指定排序的字段等操作,不需要自己实现。...数据库,具有大数据量、高并发等优势,但缺点是不能建立实体关系,而且也没有事务管理机制。...MongoDB 也有像使用JPA那样的资源库,引入spring-data-mongodb和spring-boot-starter-hateoas依赖库,这里就不过多介绍了。

    2.2K90

    Spring Boot 与 Kotlin 使用MongoDB数据库

    MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能...但是,MongoDB也不是万能的,同MySQL等关系型数据库相比,它们在针对不同的数据类型和事务要求上都存在自己独特的优势。...引入依赖 Spring Boot中可以通过在pom.xml中加入spring-boot-starter-data-mongodb引入对mongodb的访问支持依赖。...:spring-boot-starter-web:$spring_boot_version" // compile "org.springframework.boot:spring-boot-starter-data-jpa...(记得mongod启动您的mongodb) 创建要存储的User实体,包含属性:id、username、age import org.springframework.data.annotation.Id

    2K50

    第五十一章:基于SpringBoot2 & MongoDB完成自动化集成本章目标为你推荐企业级核心技术学习专题准备MongDB构建项目测试总结

    MongoDB在企业级项目中一般用于存储文档信息、图片资源等,MongoDB的内容完全是以 JSON字符串的形式进行存储的,所以我们在获取数据时通过简单的 反序列化就可以完成与项目内的实体类转换,不过这个过程是自动的...> 根据mongodb的依赖我们可以看到Spring家族式的设计,把所有操作数据的依赖都进行归类到spring-boot-starter-data-xxx下,我们比较常用到的如:spring-boot-starter-data-jpa...、spring-boot-starter-data-redis等。...MongoRepository spring-boot-starter-data-mongodb确实采用了跟spring-boot-starter-data-jpa同样的方式来完成接口代理类的生成,并且提供了一些常用的单个对象操作的公共方法...MongoDB自动生成的,生成的主键值是具有唯一性的。

    1.3K30

    Spring Boot(四):如何优雅的使用 Mybatis

    当然mybatis也有发现了这种弊端,初期开发了generator可以根据表结构自动生成实体类、配置文件和dao层代码,可以减轻一部分开发量;后期也进行了大量的优化可以使用注解,自动管理dao层和配置文件等...二、mybatis-spring-boot-starter mybatis-spring-boot-starter主要由两种解决方案,一种是使用注解解决一切问题,一种的简化后的老传统。...当然任何模式都需要先引入mybatis-spring-boot-starter的pom文件,现在最新版本是 org.mybatis.spring.boot<...,所有的查询均使用这个 @Result 修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。...老传统模式比较适合大型项目,可以灵活的动态生成sql,方便调整sql,有的人就是爱写sql,再配上点存储过程,越复杂越好,感觉自己越牛,那你就用这个。

    1.3K30

    Spring Boot 2.x基础教程:使用MongoDB

    我会将因为版本升级而产生的变化做一些说明,这样不论低版本的读者还是高版本的读者都能找到自己想要的部分。...MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能...但是,MongoDB也不是万能的,同MySQL等关系型数据库相比,它们在针对不同的数据类型和事务要求上都存在自己独特的优势。...MongoDB官网:https://www.mongodb.org/ 动手试试 第一步:引入依赖 Spring Boot中可以通过在pom.xml中加入spring-boot-starter-data-mongodb... org.springframework.boot spring-boot-starter-data-mongodb

    2.1K40

    Spring Boot 面试题精华

    启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。...例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。...spring-boot-starter-actuator - 使用一些如监控和跟踪应用的高级功能 spring-boot-starter-undertow, spring-boot-starter-jetty...问题十九 RequestMapping 和 GetMapping 的不同之处在哪里? RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。...如果你使用了 H2 内部存储数据库,它里面确定了 Spring Boot 用来安装你的 H2 数据库的名字。 问题三十 如果 H2 不在类路径里面,会出现上面情况?

    16.9K40

    SpringBoot整合Mybatis,你真的了解原理吗?

    再通俗一点: Spring Data旨在统一和简化对数据库访问的操作,而不拘泥于是关系型数据库还是NoSQL数据存储。...从上图,我们可以发现SpringData是更高层次的抽象,涵盖了数据库操作的方方面面,它具备的特性如下所示: 特性 强大的存储库和自定义对象映射抽象 从存储库方法名称派生动态查询 实现域基类提供基本属性...支持透明审核(创建,最后更改) 可以集成自定义存储库代码 通过JavaConfig和自定义XML命名空间轻松实现Spring集成 与Spring MVC控制器的高级集成 跨存储持久性的实验支持 如何选择...另一种是以Java实体类为核心,将实体类的和数据库表之间建立映射关系,也就是我们说的ORM框架,如:Hibernate、Spring Data JPA。...Data JDBC的依赖关系如下图所示: Spring Data JDBC底层依赖于spring-boot-starter-jdbc,spring-boot-starter-jdbc自动配置了spring-jdbc

    91140

    Spring Boot 面试题

    启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。...例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。...- 单元测试和集成测试 spring-boot-starter-jdbc - 传统的 JDBC spring-boot-starter-hateoas - 为服务添加 HATEOAS 功能 spring-boot-starter-security...spring-boot-starter-actuator - 使用一些如监控和跟踪应用的高级功能 spring-boot-starter-undertow, spring-boot-starter-jetty...如果你使用了 H2 内部存储数据库,它里面确定了 Spring Boot 用来安装你的 H2 数据库的名字。 问题三十一 如果 H2 不在类路径里面,会出现上面情况?

    1.9K10

    springboot第54集:思维导图后端知识点微服务分布式架构周刊

    InnoDB和Myisam是MySQL数据库中两种非常流行的存储引擎,主要存在四大区别: 事务支持能力不同:InnoDB支持ACID事务。所以可以处理高级别的数据完整性和可靠性。...存储结构,InnoDB是把数据存储在表空间中的,所以可以更好地处理大型数据库。而MyISAM是把数据存储在独立的文件里,每个表一个文件,适合读密集型的应用。...每个节点包含多个键(key),和指向子节点的指针,B树保证了每个节点的键和子节点树,在预定范围内,B+树是B树的变种,所有的数据记录都存储在叶子节点,内部节点仅存储键值,也就是非叶子节点不存储实际数据。...-- Spring Boot Admin Starter Client,用于监控和管理Spring Boot应用 -->              de.codecentric...-- MyBatis Spring Boot Starter,用于整合MyBatis和Spring Boot -->              org.mybatis.spring.boot

    41010
    领券