566566< div id ="header ">
567567< div id ="toc " class ="toc2 ">
568568< div id ="toctitle "> Table of Contents</ div >
569- < ul class ="sectlevel2 ">
570- < li > < a href ="#avaje-inject "> 1. Avaje Inject</ a >
571569< ul class ="sectlevel3 ">
572- < li > < a href ="#property-injection "> 1.1. Property Injection</ a > </ li >
573- < li > < a href ="#mvc-routes "> 1.2. MVC routes</ a > </ li >
574- </ ul >
575- </ li >
570+ < li > < a href ="#avaje-inject "> 1. Avaje Inject</ a > </ li >
576571</ ul >
577572</ div >
578573</ div >
579574< div id ="content ">
580- < div class ="sect2 ">
581- < h3 id ="avaje-inject "> < a class ="anchor " href ="#avaje-inject "> </ a > < a class ="link " href ="#avaje-inject "> 1. Avaje Inject</ a > </ h3 >
575+ < div class ="sect3 ">
576+ < h4 id ="avaje-inject "> < a class ="anchor " href ="#avaje-inject "> </ a > < a class ="link " href ="#avaje-inject "> 1. Avaje Inject</ a > </ h4 >
582577< div class ="paragraph ">
583578< p > 1) Add Avaje Inject to your project</ p >
584579</ div >
585580< div class ="listingblock primary ">
586581
587582
588583< div class ="switch "> < div class ="switch--item option-1 selected "> Maven</ div > < div class ="switch--item option-2 "> Gradle</ div > </ div > < div class ="content option-1 ">
589- < pre class ="highlightjs highlight "> < code class ="language-xml hljs " data-lang ="xml " id ="x9d3b7f3335bb4f8f "> <dependency>
584+ < pre class ="highlightjs highlight "> < code class ="language-xml hljs " data-lang ="xml " id ="x7932c2f8411c4b7a "> <dependency>
590585 <groupId>io.jooby</groupId>
591586 <artifactId>jooby-avaje-inject</artifactId>
592- <version>3.8.1 </version>
593- </dependency></ code > < button class ="clipboard " data-clipboard-target ="#x9d3b7f3335bb4f8f "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
587+ <version>3.9.0 </version>
588+ </dependency></ code > < button class ="clipboard " data-clipboard-target ="#x7932c2f8411c4b7a "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
594589</ div > < div class ="content hidden option-2 ">
595- < pre class ="highlightjs highlight "> < code class ="language-gradle hljs " data-lang ="gradle " id ="x4161a7e80e194930 "> implementation 'io.jooby:jooby-avaje-inject:3.8.1 '</ code > < button class ="clipboard " data-clipboard-target ="#x4161a7e80e194930 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
590+ < pre class ="highlightjs highlight "> < code class ="language-gradle hljs " data-lang ="gradle " id ="xe51e1d422dc74a7b "> implementation 'io.jooby:jooby-avaje-inject:3.9.0 '</ code > < button class ="clipboard " data-clipboard-target ="#xe51e1d422dc74a7b "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
596591</ div > </ div >
597592
598593< div class ="paragraph ">
@@ -602,7 +597,7 @@ <h3 id="avaje-inject"><a class="anchor" href="#avaje-inject"></a><a class="link"
602597
603598
604599< div class ="switch "> < div class ="switch--item option-1 selected "> Maven</ div > < div class ="switch--item option-2 "> Gradle</ div > </ div > < div class ="content option-1 ">
605- < pre class ="highlightjs highlight "> < code class ="language-xml hljs " data-lang ="xml " id ="xc0a6e85795b14dd3 "> <build>
600+ < pre class ="highlightjs highlight "> < code class ="language-xml hljs " data-lang ="xml " id ="x7bf517777b824011 "> <build>
606601 <plugins>
607602 <plugin>
608603 <groupId>org.apache.maven.plugins</groupId>
@@ -621,15 +616,15 @@ <h3 id="avaje-inject"><a class="anchor" href="#avaje-inject"></a><a class="link"
621616 </configuration>
622617 </plugin>
623618 </plugins>
624- </build></ code > < button class ="clipboard " data-clipboard-target ="#xc0a6e85795b14dd3 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
619+ </build></ code > < button class ="clipboard " data-clipboard-target ="#x7bf517777b824011 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
625620</ div > < div class ="content hidden option-2 ">
626- < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="x432b945e63c34a39 "> plugins {
621+ < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="xf68bdbd9dab54054 "> plugins {
627622 id "org.jetbrains.kotlin.kapt" version "1.9.10"
628623}
629624
630625dependencies {
631626 kapt 'io.avaje:avaje-inject-generator:{avaje.inject.version}'
632- }</ code > < button class ="clipboard " data-clipboard-target ="#x432b945e63c34a39 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
627+ }</ code > < button class ="clipboard " data-clipboard-target ="#xf68bdbd9dab54054 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
633628</ div > </ div >
634629
635630< div class ="admonitionblock note ">
@@ -653,7 +648,7 @@ <h3 id="avaje-inject"><a class="anchor" href="#avaje-inject"></a><a class="link"
653648< div class ="title "> Installing Avaje Inject</ div >
654649
655650< div class ="switch "> < div class ="switch--item option-1 selected "> Java</ div > < div class ="switch--item option-2 "> Kotlin</ div > </ div > < div class ="content option-1 ">
656- < pre class ="highlightjs highlight "> < code class ="language-java hljs " data-lang ="java " id ="xca7d5dfade84434b "> public class App extends Jooby {
651+ < pre class ="highlightjs highlight "> < code class ="language-java hljs " data-lang ="java " id ="x6f3a91d29dcc443c "> public class App extends Jooby {
657652
658653 {
659654 install(AvajeInjectModule.of()); < i class ="conum " data-value ="1 "> </ i > < b > (1)</ b >
@@ -667,9 +662,9 @@ <h3 id="avaje-inject"><a class="anchor" href="#avaje-inject"></a><a class="link"
667662 public static void main(String[] args) {
668663 runApp(args, App::new);
669664 }
670- }</ code > < button class ="clipboard " data-clipboard-target ="#xca7d5dfade84434b "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
665+ }</ code > < button class ="clipboard " data-clipboard-target ="#x6f3a91d29dcc443c "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
671666</ div > < div class ="content hidden option-2 ">
672- < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="xeb1d5d3bec1347a0 "> fun main(args: Array<String>) {
667+ < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="x89701557afd24aa3 "> fun main(args: Array<String>) {
673668 runApp(args) {
674669 install(AvajeInjectModule.of()) < i class ="conum " data-value ="1 "> </ i > < b > (1)</ b >
675670
@@ -678,7 +673,7 @@ <h3 id="avaje-inject"><a class="anchor" href="#avaje-inject"></a><a class="link"
678673 service.doSomething()
679674 }
680675 }
681- }</ code > < button class ="clipboard " data-clipboard-target ="#xeb1d5d3bec1347a0 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
676+ }</ code > < button class ="clipboard " data-clipboard-target ="#x89701557afd24aa3 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
682677</ div > </ div >
683678
684679< div class ="colist arabic ">
@@ -693,48 +688,48 @@ <h3 id="avaje-inject"><a class="anchor" href="#avaje-inject"></a><a class="link"
693688</ tr >
694689</ tbody > </ table >
695690</ div >
696- < div class ="sect3 ">
697- < h4 id ="avaje-inject- property-injection "> < a class ="anchor " href ="#avaje-inject- property-injection "> </ a > < a class ="link " href ="#avaje-inject- property-injection "> 1.1. Property Injection</ a > </ h4 >
691+ < div class ="sect4 ">
692+ < h5 id ="property-injection "> < a class ="anchor " href ="#property-injection "> </ a > < a class ="link " href ="#property-injection "> Property Injection</ a > </ h5 >
698693< div class ="paragraph ">
699694< p > Configuration properties can be injected using the < code > @Named</ code > annotation. As Avaje checks beans at compile time, < code > @External</ code > is required to prevent false-positive compilation errors:</ p >
700695</ div >
701696< div class ="listingblock ">
702697< div class ="title "> application.conf</ div >
703698< div class ="content ">
704- < pre class ="highlightjs highlight "> < code class ="language-bash hljs " data-lang ="bash " id ="x52d94dbfee134b87 "> currency = USD</ code > < button class ="clipboard " data-clipboard-target ="#x52d94dbfee134b87 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
699+ < pre class ="highlightjs highlight "> < code class ="language-bash hljs " data-lang ="bash " id ="x46f6522a62ad4525 "> currency = USD</ code > < button class ="clipboard " data-clipboard-target ="#x46f6522a62ad4525 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
705700</ div >
706701</ div >
707702< div class ="listingblock primary ">
708703
709704
710705< div class ="switch "> < div class ="switch--item option-1 selected "> Java</ div > < div class ="switch--item option-2 "> Kotlin</ div > </ div > < div class ="content option-1 ">
711- < pre class ="highlightjs highlight "> < code class ="language-java hljs " data-lang ="java " id ="x7d9ff5d050e54667 "> @Singleton
706+ < pre class ="highlightjs highlight "> < code class ="language-java hljs " data-lang ="java " id ="x4739656f2ba64911 "> @Singleton
712707public class BillingService {
713708
714709 @Inject
715710 public BillingService(@External @Named("currency") String currency) {
716711 ...
717712 }
718713
719- }</ code > < button class ="clipboard " data-clipboard-target ="#x7d9ff5d050e54667 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
714+ }</ code > < button class ="clipboard " data-clipboard-target ="#x4739656f2ba64911 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
720715</ div > < div class ="content hidden option-2 ">
721- < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="x7ca057d871904551 "> @Singleton
716+ < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="x3a35b3cc60949bc "> @Singleton
722717class BillingService @Inject constructor(@External @Named("currency") currency: String) {
723718 ...
724- }</ code > < button class ="clipboard " data-clipboard-target ="#x7ca057d871904551 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
719+ }</ code > < button class ="clipboard " data-clipboard-target ="#x3a35b3cc60949bc "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
725720</ div > </ div >
726721
727722</ div >
728- < div class ="sect3 ">
729- < h4 id ="avaje-inject- mvc-routes "> < a class ="anchor " href ="#avaje-inject- mvc-routes "> </ a > < a class ="link " href ="#avaje-inject- mvc-routes "> 1.2. MVC routes</ a > </ h4 >
723+ < div class ="sect4 ">
724+ < h5 id ="mvc-routes "> < a class ="anchor " href ="#mvc-routes "> </ a > < a class ="link " href ="#mvc-routes "> MVC routes</ a > </ h5 >
730725< div class ="paragraph ">
731726< p > Avaje Inject will also provisioning MVC routes</ p >
732727</ div >
733728< div class ="listingblock primary ">
734729< div class ="title "> MVC and Avaje Inject</ div >
735730
736731< div class ="switch "> < div class ="switch--item option-1 selected "> Java</ div > < div class ="switch--item option-2 "> Kotlin</ div > </ div > < div class ="content option-1 ">
737- < pre class ="highlightjs highlight "> < code class ="language-java hljs " data-lang ="java " id ="xc2ee4a341d5244c4 "> public class App extends Jooby {
732+ < pre class ="highlightjs highlight "> < code class ="language-java hljs " data-lang ="java " id ="x9f4cdba7cbde4459 "> public class App extends Jooby {
738733
739734 {
740735 install(AvajeInjectModule.of()); < i class ="conum " data-value ="1 "> </ i > < b > (1)</ b >
@@ -745,15 +740,15 @@ <h4 id="avaje-inject-mvc-routes"><a class="anchor" href="#avaje-inject-mvc-route
745740 public static void main(String[] args) {
746741 runApp(args, App::new);
747742 }
748- }</ code > < button class ="clipboard " data-clipboard-target ="#xc2ee4a341d5244c4 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
743+ }</ code > < button class ="clipboard " data-clipboard-target ="#x9f4cdba7cbde4459 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
749744</ div > < div class ="content hidden option-2 ">
750- < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="x447a7dc000e74663 "> fun main(args: Array<String>) {
745+ < pre class ="highlightjs highlight "> < code class ="language-kotlin hljs " data-lang ="kotlin " id ="x684e329d2dbd486a "> fun main(args: Array<String>) {
751746 runApp(args) {
752747 install(AvajeInjectModule.of()) < i class ="conum " data-value ="1 "> </ i > < b > (1)</ b >
753748
754749 mvc(MyController::class) < i class ="conum " data-value ="2 "> </ i > < b > (2)</ b >
755750 }
756- }</ code > < button class ="clipboard " data-clipboard-target ="#x447a7dc000e74663 "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
751+ }</ code > < button class ="clipboard " data-clipboard-target ="#x684e329d2dbd486a "> < img src ="/images/clippy.svg " class ="clippy " width ="13 " alt ="Copy to clipboard "> </ button > </ pre >
757752</ div > </ div >
758753
759754< div class ="colist arabic ">
0 commit comments