草庐IT

quarkus依赖注入之四:选择注入bean的高级手段

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus依赖注入》系列的第四篇,在应用中,一个接口有多个实现是很常见的,那么依赖注入时,如果类型是接口,如何准确选择实现呢?前文介绍了五种注解,用于通过配置项、profile等手段选择注入接口的实现类,面对复杂多变的业务场景,有时候仅靠这两种手段是不够的,最好是有更自由灵活的方式来选择bean,这就是本篇的内容,通过注解、编码等更多方式选择bean本篇涉及的选择bean的手段有以下四种:修饰符匹配Named注解的属性匹配根据优先级选

quarkus依赖注入之三:用注解选择注入bean

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus依赖注入》系列的第三篇,前文咱们掌握了创建bean的几种方式,本篇趁热打铁,学习一个与创建bean有关的重要知识点:一个接口如果有多个实现类时,bean实例应该如何选择其中的一个呢?可以用注解来设定bean的选择逻辑如果您熟悉spring,此刻应该会想到ConditionalXXX注解,下面的代码来自spring官方,注解ConditionalOnProperty的作用是根据配置信息来控制bean是否实例化,本篇咱们要掌握的

quarkus依赖注入之一:创建bean

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于依赖注入对一名java程序员来说,依赖注入应该是个熟悉的概念,简单的说就是:我要用XXX,但我不负责XXX的生产以下代码来自spring官方,serve方法要使用MyComponent类的doWork方法,但是不负责MyComponent对象的实例化,只要用注解Autowired修饰成员变量myComponent,spring环境会负责为myComponent赋值一个实例@ServicepublicclassMyService{@AutowiredM

quarkus实战之八:profile

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus实战》系列的第八篇,经过前面的学习,咱们对配置有了足够了解,但问题也随之而来:如何让应用以最小的改动同时运行在不同环境(如本地、测试、生产等)举个例子,下面是个简化版配置文件,有两个配置项,第一个固定不变,第二个随环境变化各不相同:#这个配置信息在各个环境中都是相同的greeting.message=hello#这个配置信息在各个环境中都不一样quarkus.http.port=9090在实际部署的时候,如何达到要求呢?qu

quarkus实战之七:使用配置

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus实战》系列的第七篇,前文讲述了如何在将配置信息传入quarkus应用,今天要练习的是如何使用这些配置信息整篇文章由以下内容构成:创建工程,作为演示使用配置项操作的代码演示最基本的使用配置项操作展示配置项不存时会导致什么问题演示如何设置默认值,这样配置项不存在也不会出错默认值是字符串,而实际的变量可以是多种类型,它们之间的关系Optional类型的配置注入不用注解注入,也可以写代码获取配置针对相同前缀的配置项,使用配置接口简化

quarkus实战之六:配置

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus实战》系列的第六篇,咱们来掌握一个常用知识点:配置如同SpringBoot中的application.properties文件,对一个quarkus应用来说,配置是其重要的组成部分,web端口、数据库这些重要信息都放在配置中,咱们在编码时也会将一些业务参数做成配置,而不是硬编码(hardcode)与配置有关的知识点不少,本文重点是如何设置,下一篇会详细说明如何使用配置本篇要学习和掌握的内容:先实践六种具体的配置方式,例如通过

quarkus实战之五:细说maven插件

quarkus的maven插件非常重要,管理和构建工程时都离不开,本篇就来一起了解和掌握它欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus实战》系列的第五篇,一起去熟悉quarkus的maven插件(就是下图红框中的那个plugin),用好它可以使我们更加得心应手的在项目中配置和控制quarkus插件quarkus-maven-plugin提供了丰富的功能,它们都有对应的命令,执行mvnquarkus:xxx即可执行,其中xxx就是具体的命令,例如mvnquarkus:h

quarkus实战之四:远程热部署

将本地的改动极速同步到远程服务端,并自动生效,掌握此技能,开发调试会更高效欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus实战》系列的第四篇,如标题所示,今天的任务是完成远程热部署实战作为一名Java程序员,以下场景相信您很熟悉:在本地电脑上:用IDEA写代码,编译构建成jar或者docker镜像在服务器上:运行jar或者docker镜像遇到问题时:通过热部署,使本地的改动立即在服务器上生效,这一切都是自动的,无需打包部署等操作就是下图这样:以上是常见的处理问题手段,如果

quarkus实战之三:开发模式(Development mode)

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览前文咱们曾提到过几种启动方式,有一种用maven命令启动的,可以进入开发模式,命令如下:mvnquarkus:dev当时只提到此模式能看到详细系统信息,并未展开说明更多信息,实际上,此模式下还有很多实用的功能作为《quarkus实战》系列的第三篇,今天咱们一起来学习开发模式(Developmentmode),这是quarkus为开发者准备的实用工具关于开发模式(Developmentmode)开发模式是quarkus框架提供的内置工具(built

quarkus实战之二:应用的创建、构建、部署

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《quarkus实战》系列的第二篇,目标是开发HelloWorld应用,让我们对quarkus有最基本的了解,写好的代码会在以下几种场景运行,这应该覆盖了大部分运行情况,绿色背景的表示具体的运行方式,可见一共有五种:为达到上述目标,接下来的文章会被划分为这几个部分:介绍常见三种创建quarkus工程的方式创建quarkus工程IDE导入少量编码用maven启动dev模式,并验证生成二进制可执行文件,并验证制作成docker镜像,并验证接下来