From 7eabc6cd2578b0b5b46fe6885db27e14cbc46932 Mon Sep 17 00:00:00 2001 From: reymalahay Date: Wed, 1 Jun 2016 06:47:26 -0600 Subject: [PATCH] Code and related files for the dependency injection demos. --- .gitignore | 2 + dependency-injection/.gitignore | 12 +++ dependency-injection/build.gradle | 43 ++++++++++ .../docs/autowired-name-demo-classdiagram.png | Bin 0 -> 48700 bytes .../docs/autowired-type-demo-classdiagram.png | Bin 0 -> 23197 bytes .../docs/autowired-type-demo-classdiagram.xml | 1 + .../docs/inject-demo-classdiagram.png | Bin 0 -> 38729 bytes .../docs/inject-field-demo-classdiagram.png | Bin 0 -> 19402 bytes .../docs/inject-field-demo-classdiagram.xml | 1 + .../docs/inject-name-demo-classdiagram.png | Bin 0 -> 23358 bytes .../docs/inject-name-demo-classdiagram.xml | 1 + .../inject-qualifier-demo-classdiagram.png | Bin 0 -> 37170 bytes .../inject-qualifier-demo-classdiagram.xml | 1 + .../docs/resource-demo-classdiagram.png | Bin 0 -> 46095 bytes .../docs/resource-field-demo-classdiagram.png | Bin 0 -> 17692 bytes .../docs/resource-field-demo-classdiagram.xml | 1 + ...source-method-byname-demo-classdiagram.png | Bin 0 -> 29579 bytes .../resource-method-demo-classdiagram.png | Bin 0 -> 19905 bytes .../resource-method-demo-classdiagram.xml | 1 + dependency-injection/pom.xml | 81 ++++++++++++++++++ .../autowired/FieldAutowiredDemo.java | 27 ++++++ .../autowired/FieldAutowiredNameDemo.java | 27 ++++++ .../FieldQualifierAutowiredDemo.java | 39 +++++++++ .../AnotherArbitraryDependency.java | 10 +++ .../dependency/ArbitraryDependency.java | 10 +++ .../YetAnotherArbitraryDependency.java | 10 +++ .../inject/FieldByNameInjectDemo.java | 30 +++++++ .../com/baeldung/inject/FieldInjectDemo.java | 27 ++++++ .../inject/FieldQualifierInjectDemo.java | 40 +++++++++ .../resource/FieldResourceInjectionDemo.java | 25 ++++++ .../MethodByQualifierResourceDemo.java | 43 ++++++++++ .../resource/MethodByTypeResourceDemo.java | 30 +++++++ .../resource/MethodResourceInjectionDemo.java | 29 +++++++ .../baeldung/resource/NamedResourceTest.java | 27 ++++++ .../QualifierResourceInjectionDemo.java | 35 ++++++++ .../resource/SetterResourceInjectionDemo.java | 29 +++++++ ...applicationContextTest-@Autowired-Name.xml | 12 +++ ...cationContextTest-@Autowired-Qualifier.xml | 12 +++ ...applicationContextTest-@Autowired-Type.xml | 10 +++ .../applicationContextTest-@Inject-Name.xml | 11 +++ ...plicationContextTest-@Inject-Qualifier.xml | 12 +++ .../applicationContextTest-@Inject-Type.xml | 10 +++ ...licationContextTest-@Resource-NameType.xml | 12 +++ ...icationContextTest-@Resource-Qualifier.xml | 16 ++++ 44 files changed, 677 insertions(+) create mode 100644 dependency-injection/.gitignore create mode 100644 dependency-injection/build.gradle create mode 100644 dependency-injection/docs/autowired-name-demo-classdiagram.png create mode 100644 dependency-injection/docs/autowired-type-demo-classdiagram.png create mode 100644 dependency-injection/docs/autowired-type-demo-classdiagram.xml create mode 100644 dependency-injection/docs/inject-demo-classdiagram.png create mode 100644 dependency-injection/docs/inject-field-demo-classdiagram.png create mode 100644 dependency-injection/docs/inject-field-demo-classdiagram.xml create mode 100644 dependency-injection/docs/inject-name-demo-classdiagram.png create mode 100644 dependency-injection/docs/inject-name-demo-classdiagram.xml create mode 100644 dependency-injection/docs/inject-qualifier-demo-classdiagram.png create mode 100644 dependency-injection/docs/inject-qualifier-demo-classdiagram.xml create mode 100644 dependency-injection/docs/resource-demo-classdiagram.png create mode 100644 dependency-injection/docs/resource-field-demo-classdiagram.png create mode 100644 dependency-injection/docs/resource-field-demo-classdiagram.xml create mode 100644 dependency-injection/docs/resource-method-byname-demo-classdiagram.png create mode 100644 dependency-injection/docs/resource-method-demo-classdiagram.png create mode 100644 dependency-injection/docs/resource-method-demo-classdiagram.xml create mode 100644 dependency-injection/pom.xml create mode 100644 dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredNameDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/dependency/AnotherArbitraryDependency.java create mode 100644 dependency-injection/src/test/java/com/baeldung/dependency/ArbitraryDependency.java create mode 100644 dependency-injection/src/test/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java create mode 100644 dependency-injection/src/test/java/com/baeldung/inject/FieldByNameInjectDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/inject/FieldInjectDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/inject/FieldQualifierInjectDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/FieldResourceInjectionDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/MethodByQualifierResourceDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/MethodByTypeResourceDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/MethodResourceInjectionDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/NamedResourceTest.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/QualifierResourceInjectionDemo.java create mode 100644 dependency-injection/src/test/java/com/baeldung/resource/SetterResourceInjectionDemo.java create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Autowired-Name.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Autowired-Qualifier.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Autowired-Type.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Inject-Name.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Inject-Qualifier.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Inject-Type.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Resource-NameType.xml create mode 100644 dependency-injection/src/test/resources/applicationContextTest-@Resource-Qualifier.xml diff --git a/.gitignore b/.gitignore index 210807d09e..7ebd658281 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ .settings/ .prefs *.prefs +.metadata/ # Intellij .idea/ @@ -23,3 +24,4 @@ log/ target/ spring-openid/src/main/resources/application.properties +.recommenders/ diff --git a/dependency-injection/.gitignore b/dependency-injection/.gitignore new file mode 100644 index 0000000000..6531dfc93f --- /dev/null +++ b/dependency-injection/.gitignore @@ -0,0 +1,12 @@ +RemoteSystemsTempFiles/ +.classpath +.project +.settings/ +bin/ +.metadata/ +docs/*.autosave +docs/*.autosave +.recommenders/ +build/ +.gradle/ +.DS_Store diff --git a/dependency-injection/build.gradle b/dependency-injection/build.gradle new file mode 100644 index 0000000000..968636154d --- /dev/null +++ b/dependency-injection/build.gradle @@ -0,0 +1,43 @@ +apply plugin: 'java' +apply plugin: 'eclipse' + +allprojects { + apply plugin: 'java' + sourceCompatibility = 1.6 + targetCompatibility = 1.6 +} + +repositories { + mavenCentral() +} + +sourceSets { + main { + resources.srcDirs = ["src/main/java","src/main/resources"] + } + test { + resources.srcDirs = ["src/main/java", "src/main/resources", "src/test/resources"] + } +} + +configurations { + compile +} + +test { + testLogging { + events 'started', 'passed' + } +} + +dependencies { + testCompile('junit:junit:4.11') + testCompile('org.mockito:mockito-all:1.10.19') + testCompile group: 'org.springframework', name: 'spring-test', version: '4.2.6.RELEASE' + testCompile group: 'org.springframework', name: 'spring-core', version: '4.2.6.RELEASE' + testCompile group: 'org.springframework', name: 'spring-beans', version: '4.2.6.RELEASE' + testCompile group: 'org.springframework', name: 'spring-context', version: '4.2.6.RELEASE' + testCompile group: 'javax.inject', name: 'javax.inject', version: '1' + + testRuntime('junit:junit:4.11') +} diff --git a/dependency-injection/docs/autowired-name-demo-classdiagram.png b/dependency-injection/docs/autowired-name-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..f367fdbf415f93423568c1df91bc5e1e693b0f8d GIT binary patch literal 48700 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 Y=MFcICm*DEk>$xlrR+D#GC1P*e`SQA6#xJL literal 0 HcmV?d00001 diff --git a/dependency-injection/docs/autowired-type-demo-classdiagram.png b/dependency-injection/docs/autowired-type-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3f3415566893568d451f5ba4f7028e9b256a14 GIT binary patch literal 23197 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 \ No newline at end of file diff --git a/dependency-injection/docs/inject-demo-classdiagram.png b/dependency-injection/docs/inject-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..9996fdc733f23d2ced4d5587a2d0cbe4b7d552bc GIT binary patch literal 38729 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 \ No newline at end of file diff --git a/dependency-injection/docs/inject-name-demo-classdiagram.png b/dependency-injection/docs/inject-name-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..96a6a3425e0e6fe8ec6982cbf0470a692163abfa GIT binary patch literal 23358 zcmd43bySpZ+chi*GKjzoAe}>_f{N(SHKf#l0ZK?H-7qvr51kfL4kINXt%N8cp$HPv zAt7B#_j_J=|DOB4*ZX|mU*8|!S}d2t%pBL*=id9+2N612DwJoL&z?GUic(D#t$XU! zX@wa@XzU#2qM+nb$}$@7sP%!yF9T?4$1+96KhZ=c|hvh_s4+ zZNxM=fyGoYKqM<(*5xKt&=AW<7s9zTDwtsKmGU}ZXo*7}s z(YS2(rr}MhRD(<8a1$j4f$d#83jVrkIB zm|!&It=YuI+%_)1c+i(lw>|XUYD|THHV;>I4K>IsrT^g5Pe$s^M*sx=4V316Sw zlL+xn`{Nq^p#O$(;Ge>o&r;e4vpln_lf9mI?MO7-c%_}pR~6NgvhDrSD6CL#qYys^ ztS{Zp9z>e%C9`c;*%Q^=&3;()?7Y&2x5Arz=T^G%P_c(uju9T~XJB%?pyI{j#>Hyp!R)XLd2M4e#8ls@kvTyj00!<&D{p%gCZ%ptddx zT#qnj9wU8$`L;P~>*SMI+5#(mp)3!=MLPNCG}r)kx+w42nu!!QwJAz4%oipkZnm?y&F1}BK3LWMqJTGODx6d zh09;Fo=GfKOl1G*rkr=UTw>7qbyPg;+|to1jN@>4$V0@~CM%5A(@bDyWb zo_BrGQHxUPR1to6;5YVCw|!1mOE%1`o}RmbBfm5=Fym#l#Oyo~BOb)pb9d()(W{4U7nxkG z;`cgWoFZ`Y?%y3*v=nVPyqupe|0Z_(P%gs<^Q@l!BFI- zl#r-$>ydNUX_L&;VX3hbX9t~)H$-lTPP@n*PfeK|tY(`{e>Ca1FmdV>=P5O`{4G!8 z? z8q=4hBa_w59d1A%iI1P(u-yN_x1~Pbai#jY>=G9 z|MjDzNpeRnxwr8CJB#0wpD)}>qGY~9f|esebE=Rm^ycZ6T6G~0WjYbs?%XF|)Da^w zOfD#HIGg=g?Z>Hp0VtTx3zCif+N<;VjtDpr0v`AU$%)Z5u=w#7hIYzH`vSGU4Q^$#j$XHd^3Y zN;koCt)3avGC(cV2cL`B{L|(MMbLlx7#)!g``dOD4R~iNzwHt9QdLn7kB$q2nu?QS z1<{(Ee|#z4jgvhpuCyN>l07~!&+z@DHn|W+$ug8Is8?X#65B^mqxCuX-BPF=!z}1S z;djlpubth0$MnAQ=kw319JZDQD+eFF94xo)DNu@{ml+G^@PFSfmXn4}p=7?+YSUko z)@Rl{X#Z~14h;X+pRXdr>^@5q{jp4<%~aykaG&GD?ZVq{?mVehHx>36_j|XwG+5SK z5@a+mThu!;)p3T|5DXc6#+#2re5T8xe9egPE z-a*I{j2!95rj$&mgLFJ#@QDrYupTZ~4tJ1}$4YCRwQo!0y>2&fxn@55rQLExf928P zz6k$y;@IzGlfNSP)Ad)X-`4GYxjtw?%RqbIu0%;8In}9w+R#t1#FLc935|u z`Mg~&>y&Z0`SQB`MIm+gxo3th5rvgQHkC6ewnK{4($hh|^4}Dd#@rYi81q?`J|1l2 z&#-&xP@VSyOg6U9z|spni{p+hjuNRGxIW^fs1hr^5xUk8E7~d5!>66TRLMPnpbn=a=pnz4YC(?ClZPI0~U=+22jH(uqGZ<%3zJy%zX5V5-T} zjY6$w{toaTuxSKEN*E0}&~2bKHg}D^ULS6c2RMk$-)FHePf+1g*rUh)n#+o-1e4sy zEM_xZv*EY5QDXb{Lmzg)G(1E=UM^l2Jv9VYbpNp|v*3#xj_FbKAsu8Kz7KAUd1gt@ zqh`ohogQy%x}9Q~^OnN3IxD)KglEQnts$WkX7~ax`B8M7B)NF0RKBah>h8=2Kwm28U zTKWCK;{gRUm-?gj=M!cLTfKVPy9Wq9!)FexeY{D#CfLD;>|BbBrjGkt%YMT3#shE8 zp8-p>L0{#Y0(87Z#ym!=5fypDdE3O;pPBeq<=BP7TK%?1EhSgpXL0e3c}`Jk&ky;m zepp_7`*8~_FIlwuKox&=Adb^M0(Uyr!Da8xRjuwsxOjb=|58bdZ#(7nflo#6C(n8$ zmW1O-#pqBgFu_zOR=+(JL+Qhf9%CN`x5@WYv938B{QeCg223TyY9)FoYuqLQ#Q6*RCo|^B5$D44q%v-x_x8iB)7a;#*hoy-JO|B2u@5 zr;uCXz87{Xr0||894w+}_uh-p?UOkGRv6vSNHUCW*(1&I5Bx5_S3e%#OOtRn^d!M3 z2vOIpb(wiO6(_Nu=f(V{!LECywJP39*7>egNV43*5l{}6-}vzido%y%h3|^gn+p35 zqt&~NFCFWuh7~tLRL=_DJ|OR6+~d!8ZDz7$%rkmrYJMx3Q};bTYKNeJ&?I+#Z9G-n zNOj+#B4WmEWyDJyL({}K|DfwyWr=wUA6gC0-j?R_{1h=2(dqkm-mWmXoEyp0JTy5n zC>NeUquUIJ=QYdAA=SU6$gYP_BWSuiJ^6yxCd78~|M!{Sn7*j%rtnHqFQ$$j-6rz! zV6uX0DZOl6i;`rMxn`yMjf%SJvxZleIkKqkgNuYKp$Z;FlvB=s80K%{POr$rF^!K^ z@dyMLO`v{+#G&lrMp6_*caas2raMPV_R!7aj~W*@X{4&kEie^PxsBR;cjop#ou=Nv z`=t8X$f~ksHCv3j_iGL)-a?|)zi_KRAUjRcfLDt0bs!W>Y>28f!x9iP^61cjfZbou z!knVd3L=>(=r1~zsOArD%=dgKX2&E-Q3b6$xofP3E(mQ&E&e95fTTSoXYBh}1y9{V z912b(zBOP@i|6v*yMtP$uw*g~4AweJyU8H(VIz^DwWndlw^VxRryiqr+D$kw!2tm- z7I{DN3i<(Dqn4(!YL3u1!JJIi@YHKpNKX54#XGfEiS#CeMKm48oH!nEJlc~^9BxIh zSQ)8upvW^tKmMs`5h8KEyG=`a^Hu<*v+{45O%_<5o|gD$)U{Kuh#b4yR9%O`$+Z-4 zyl*nOamkKJ!Ywza=rv2Y`xlF&_9W!d{_4kZigh)?Mm{{Mcdg*vm^bN;mOzJ~S~A^i zwQU~+V&EQN2%Jso>9(Hns^b&L@kqi-2<(hC26i@fKgM_)oSrp$Q4caFLZ^?OoPEX%8`&k;==tg)-Bk)ylb21s=~5u4;W#zoDgCADQj=`sHz_?6Dnx znp-^vwe8S6})LW zWX9iO#*{4rRmu4^xO|=7i`wH(M|M`dySD#jAg6PVeryQ(i!@9^l6H>eS3UIc3Q^{H~~c9Sme9_9X@g-UsM2E^sRMs ze@cQ1jY_K8F_YICNAg~9xYSPMtYnjt0-NRrUGz0PKgjbJ7Sn^5rLcK-XnErh;05EQ zryA!0)&wXL9Bf^UC%Bsw4dOng*V98lC=?0dWOP(vUL=5DGSHBjn14HgyJr)?kZ~2| z&w%JUbk-R1MgqbctO?*wOLqKce{tL@mltC{ET$~uZisIjKiUkjwd~Z`~0KMc<-#GU- z79AWkkNBR3rV{jfI>9c{ll~y#DqxtM4aEj8LeGdyo?`-S0Y3tq;P<5E&r>3yCkW`` zEl7+|=?o}4&o0Asd5kl}?lZ_~Sr49Xr2 zlJloNcw74?vhe+6n#a)+zD1?hw>-Ia2j`kggEs`{a9{QU%N0%s4iCes= z>y+8I-f=UqTs-tt6MrlO$Vd`80|FRvrWp|BB?=r_*mzR;Kdf1NDR=p)6 z{&le4`8Ii%OC4Z+Rv$nC>|Z~*Q<~ww*XF&oWDTzG`+4|$-DtH1I*dyrjMu?`^>+7HWGO7>zTu%GR#$MwiMN>J>}=fVuCl?&N5(9S=Ty zX7mW4(ub2{5b*WhUP*HgXn#@?aVm!KN&|#Pkw5FnILhx;*f6a>CNJnS@-Ujkb}2Co zGTRoEjI5JCgU~wjHLC|VpI$7f4<_3eLrbl^pQ0MJc~h9W4q}?`FTcxpi*OwT7lU1E zJXhuKW|sZKDEdo(c2`PT*!_>Wg?SYNu zKOa};2*{P>LT=VMuCHYfx!Zf*o{Su$n!x&Er(!QJ#rW@!DZWEH4Fkux*U0-$SF`UfM6EG zCfUc<2bj@-9?q%KnZ{$-{>E`YbCb3IY?_B*{F-HNE~XFguqN;CA_`=~s!HlVM9cyO zC@RZn;|4MVNDx#WfFX{^w@@|nARoI%(|++4uG=vi22^2mzS(Pb4DiXZ{rYr36B<2s z!QOT7F#9^pp@7>Enfa2@mc+mR(Rl~Zrv-epxTx$*Am`3zzlr@bBkXUl{=)knFJ@_f z2mP#Gsa`acD|Z~1ac1-T&c7H$8%;}fw}~piq3RcXoE(?1K}MD9?2vN{+iXM9aX2Zq zKD4TVvZ!E_pq5mCT^<5t&m(vjO!Oi$#u-iy=tSJ`6B`+vT9NsZ6|(_QCUT#BK7Vw% zUO0rzY^FnUwfv@VRa3hEo;5?QQ4Q9;M2U`^%CKb-r>T$BfE%l@dl6z-Zgd58{XjDfa;`RAO?)PW@nspAYU z8ovKN8#(nQ<9kqWQ|xY0&B{WaE-D0-*Gs4I;_7EMe*X?(8Oauu;nMS|-ZERw-r%%H zsh=R)u1czK`R7ha(l;s@Ev8FoQaJoC-+y2ydj4Z2x>q zY0vx!?OGh?JXrs6v+uqUsy=e_(<|jud^z`&IPT#k+o`X=DJYHXJOl@KrLa*oPY9(M zm1%<*U_$TSe*JRc?NU3-4Tq&k+#G38k^oJt1oFJRa{l=(zqNX@j_3;BQJZ1=cbje( z(DcZ&mMjRB0Ip?<5->3vFVvHrWECo|72#0nTqLIrA@ZEj1AyBq>w|$;iexGzDt3e| zGU1GXqbij&{3N||^C3=%c~O%<#%DiNE_gQp=F~j}F5T&iR_J~sr2(aHO z-tU`O|Hb5S`4p8{ask~$^UMXUliM{@9hw!@Ra3H5EP&B9=77DRT2MYHZCo<^b>?$P z0#oRsGd4nqlhJ8L(F8|>ZFio=PZEV+C(wqkvY@ZsOu`JJ7o*H&91r~ zPNtShexvdeNTHHkTYApVpl?pwubk%MA0|-mtjx+O_grsIWI^iLJK1h8)wqT$T3FRQ zGV#5+ENK_{@-zHTaf;TIL<)Pi%0tuqQ`f9Qc&olkf02?1U|r|bAr6QC;5;AcJ~R6Y zT)+0@n4ny_%aFy_jU%`ss@_8W|AN@5ufO-^o5G*^1J}y9ZAcRIvo2s#>)@HF%4SRI@kir z?nf)CeT-rdsTA!%aU&{Jh26Ao>nSWyPL&QvuczmmVAryc6vJ>0R6+YoHmq(5W1Jfs z>+QXIOl$`~sw1@tP2fSZ%uy#O-U=6x^V&C`tp#^`x^elK_hOZ32P2rL!VL=ZCgXg! z!nsB!{7r&GeNva5D>EPEsPDS6k|xN>w4XDit7)4Jdv5V5NZDyzkB3&PAS| zk5yr2mvD&>O#b*PWOSv_bkF@%aGL`*( z<^Mn@E<~=5rdqWsd8|-PJIb+F?5ER&>ePFLU>iEwiH&OMzT<~qVzAUqC3!InOgCqa zLgmG%SBSEJTT2O#t{f$Khp1#f!S2J>knPG(M7`<{5q#(<)`k*(B|6Hy!_X;luq|7d zWHw{tVhA0QTv9iJCRH6Nf~wnS=@4%SpF5@HRCzd2PP1$(a}WR*yldqCBu6&Qz0V*b z%?&%~Z039*7(`9!9IA?AKOH>~#Dt9h2!>G59<|jg%^AiBC|byF89llK6&l%->(t$N zr2$5b)RJNtAyX;h_HMA1y4j`Iru&UQwJvl@dx2w0*RpB-v5x$;*Hd3yAt;;)^(qf-s-CVg2&AJUs`7>43wwBy-{-UEzL~EV^`8Y#E-Yt~gl17iymtDm% z8F#^63!Pv%9>L{z;htVYo+>Jjj;{ykTVx{WY)9R9PO;Xg8F^O1UOG+4DM1rdOu3Vd zzRO3{@_=@ozZL2m`r%G|OBMCFh{7Hn6}KPvBm8>3^P^|1B?_ZAQF#%)qBb`LVw=f3 zvp)ijcW4&zUbj)65TVRWBdCKD)bGO2J9Q~|kdRZk{ptEZ=c}iu=nY?F(EY41;qx=m z;i%qg27Y>vniW^{=|XA;DMe(r_+aEvR`EW^f*{z@Kem(M3EcP~r`NBiQhY_Ob6&kM zY$wWqb)vNGbPcyh$Kl62X*~bjh-sz4$T9PKa0MZRWDnL9tM<8t6!RG;BfBK9Y5ALFNc#dbhR{7RU(D>&K-_gEskrt{`eT! zx%r23X1O7-4ZiL$}&2Zy?GBYP2sVH*W z(>C19Rdz*923}8=xy|baP(28oLX!wF*GFvWCF~L=BlRD!sUoJHo9T`vQWO82y{u`x z-JLG7VoH@alb{)ZKJAr(j&qu^yv$t~Z55FMM5q5@FxQBm@TpIpIZMW*65rFDNUBrU z8Jgu8aUBEGWYZYA|FE5Z@7ucbq+&i>jtioMtNQLxgpG5`GrK}5z=LkF-`_l;L`WSk zK%~Nwm?-9ffn;>@R`CIHS^SlB+$0(An zagyb*fUq3jKUhu<&lCHG?s+;=k@A?Wv+ zsuAfY#10<#Um24BU}{7Npx=BadHKKOwzphl~@7=*O4GnQr`&q`(6{onOW~@UXOyZ zHOx@oul*D8Kl=V32ju^EE&k8=|L*yJv3;ne|02`>)l$IG|LOTz9OwbjrR?mJblAVi zG!D`lP(>+!N95me{zb~$eP4Vr2{?QR>9Rj^F^y0TN#xP57&efB@wmV6d8Od?B0!Hue(gE4ujjS(0;gbYa*P3Z=mn3$vC^;24)yY)o-Fa%toNJ49KHc^QU{7 zRSf+BX`Vs8mv&}Ak*ysCpQ)UTyui0q_2#7=rlyuZDRb_Ll$=Z3Ie2Fwjg$v-z!jN&S9ov<7}T0EW*VWGgU}^zYBHqQ2Yo z70eqVOl!#!hruK|y3VvahdJ8-{pH@JK_Lh_A>lB(WP$ps0q?~^dysgl{7irUy{PL% zD8rDJ2I@9#SJd5k>W!=Uvz^Br*d?ZgED#iHhDZ*kPPSz+#S zIH2dBLB5I&VDMv_cQ-)V^p3IDuX5arV<;tthqa{oGherxGrNxCAvsOuQYv7&5==(D z<%}?&O?8cpN}Ah=j-liTI4FtIVLb$m9Ds5^?bX<28^^lcY}aFu@*5>rX&nWrt}xmT z*QhlGfhT>k(VlEXDjT6VGAwP0*%FkNymY!RVi)8<9YE6NnE^ZkCd%sBS1iQR*#=>I zY$MMP*JpXsxEV-D$YASxQipJaS^3(>-IDB!>(6X;-xR5u3e;=zL)qcZ78w;k2wWXn0g2DC7ASAi!Rj{xwr5|CHiw7P z$KxX(bN+o`2q@Fjmi|#xHN$Lf$rR3Ed4@%VHf+@p{Uq?$qiWjo{?E6ft+Y z_ALOHO=XR~h)dCFZNmO=87Y-l^~~64r2tqI1aZJ-uWInc-u$i7|w%ScxwItRZ4u&*oeyPWwO24_KjyJ`uZ40LD*(V8DUFTroyD=L81^>*( zZ1b8q0&|4mxX8o{$w?fyZ!18Tqx&O3fjIPN1xmZaT|?*4DDkm(#WMy&ZatcZ-bdfo zU3VtJ_xB%bGXg; z@g-dBK&#>Do1*G39TJNLO{<(^t1!K0uDyn`7eafwMd6}fqj=RzNpgn&uBrSda?1D+ zBUh|XR!s}$jbbFJ-TCo6hkQuzX$n^1r3V_=d(LN^e?F(CVvoK3*7(E7t6#>cx_k9`0pO4u@!~&( zS(elua)mfmKEDtEC7h3&6U=fr5c1c8cdx`*k?`zVQ_SB)y@b7tw?PNsSpAjnVc=db z(CSWGP67rjtgX|kO1EHyn*gdZ;ZLE0(R!X8L77vloCWagUh5E5(s^-I`RfV`Oi)(D zI;D!IL(Os}Q$!+MP<}v(n^$UoplSV^YYgLs!r$$$BhQhX$=kC`!z12UH3=r+Sn-c% zUzg)r!5&#OU#sOJ_Nt56;2iU8_ROFeHU0L2d(|9$8Yu!xp5CU&vnAC2Zl6$nXWQSA zWm%iywBps*;M!7K5(wj`3fM^tZl$;m-^3~Z{>iF)48LfHgKz%yfW^$hFer}|!+_4x zF|Npl{gfsfO1dT=HH5NRqED=AjOCHFWH=5aV|P*sQ9Z3CZ5EzO)`6J6xa6BCQ6DZnNn}Zo z4?Yty+5z`^b=;9AS<|EGt*$B_DIwaX<7MFa`C=y%HyM<3`;8^ttC*^5<5JVvgqwSl;@qDpuAry0%bQ)J{Rl2y@7d);J(ZU@wFXe1 z?u@DQ>LBK){Jx$!Yevap3h%Dn*#^572tzw;bh^{T7n<&u%H_|AENZMi6KG3LE}}hw zsjd9PuOn$>lCwH2E=vs#HYPNPKWbsmK`!W*=&^N2C$6eo{;3nDpv(FITjxxV??A>X zxC~KHQ6Em83qvjz`!EAZM?46}dUkYI(&!^facQV@n5jFeA$A=|s~O$9(?cNnaB-sP za{o_($&oYRmo^w!<wkxmZ>kc|p;r_%$vY%EO>;%miekt+ zA3BX>O?}*7sp$|bz(`TrK_b~<)yRTyPqaTZ}149($alm5iv&GB~WAFG@oL${Zkbm=b-+11Lt zg=q+v;TT}ei6~PSBB5exu?een;L}eL;F=87i|mQileal7NuVQ3I*VW>-sAGV{NU5$ zUubec1i}CJ4R;#4-`yfr3)6n#Mg!9d+qcAcAu~?gS83F0-rhqM8KKf*%AAm-qyhO4 zi$yh3=c9f*)j6lnk>&77Wc-|lTW88}F0uD;AjvGLa*w5p0-OFq|YzeOFSVlAJ-;I(^9%SMWryZ>v3= zG+v^}yIBS2H7%Tf=FN^)%N7%Qfums!z-!?2m=V-SwWXijy11p1I#dPfElv#2*Od}G zhazmjM<<3jh4gPAaX6JGZBLOW*i5t%sO}?(V>C24;S{~hk1YGXGL4GGGy=@hjE5PL)(TaQ>b*&57MOp&x z5^UvvBEChWzgJmCTwlNOv1i9mLEXX{&$Cw}D5UObl9bJa|IlSsh*ql$IB1iBGKcU$ zUt~OHkDiJ%R_>Y$JPmD)51Av<5)wpwJlcCBS%d0ExuULuP8M-@W~BN2sTwSKL`KIS z-z&J+V9-RQU=?EMn97JGMI{ZWs*`Hns38!H;3w)8X?Tz~HTvAtnO-ewOG-93*@p@W#*l_s)E+^98)!zJ|qh0liZ8uq0l1nsh)kQN)beK zCHnGXB88A#%8&e>;|PQ3EshXm-Yu?&k(!Io~j!`)|K;-8b7&66QBV-fYQJR;13N8M>IZ}n%e^lfhq zAq-93{l`XjsflZcbSUzJdanB2`g(HG$}YMHD^2ow@g<8%T=#%;i#6U6JJ-0a`12a6 zbNqsjI-Gdvhz64xs@Isf|7$v5r~GwLF$ zbHWOv+d1IHS1QM>di}8E>sKk_{<$^-!nFjKV7?$(Xb}k=(O3mPpGw5RpP4l&h!N;(BYBv-okm+qa*(K0lD= zH4T?Ri#n}1%ZR%L_QNyVUxb-!RI_TiRbP8O=TYp`&7x(ulTKsIeHJ18@Ip!u~VA1 z=XtkY&rhl2)V*1VSKLNX8Kgv?MVt2%=#fak2D$lRcZ#C?$-i;Me3sq!DL9r5mc%_fZ*KTViM+@9Rcjm=I;T*xfC@-I`aIv^&xUGl2VX5ooO z+TEh9{j=!oKmISp{Jx{U2@E+&sjkZrEP4|6DPy^`q${T~c_gu>8vg0?QpE|$Ww*ws z(=-DHl-bCTXNz7<;L5(TVH4Z3S`0K~NGZZ;T5i0sG&mR03MbFR@|<^_30iOUMBnc| zKN#)|mqh#M8ijKz!7Yb>QpQb-nQ7qJ^6K153Q9bUJ;T&Q)wf55=Jy_aqZc-u6R~W_ zzIgwt*9R%z#v9e^hWs3FqnBZ4`YLKWHLN>tV6^w9Tc^J>Qq*L1ioJEdWd5vwepUtz z7t?O5T(7fW6ZPXzdC?;h6fYrZ_v^6L+RBbO`CXl0QbqeTGjNLv%rpP%_~F*!#q*5w z89kLIuuX7INImV}6?(J!#XpT(OZ?*Fw4ZB-)U0{!8Pj1?Ds)k7`wMoc3_=gOrzl9e zcO)bw*v_sgf~tj;f4o!6t9sS3?NNd6hn%ascYdWRdUGN!;9owB7|k!flv=4IA+RZo z_EF{LPElnxa=#YwUo!$EB~tlR)PkH-Sdxd$g|oG#tFzDVVEvt=ztlvT3|8g^AaY?u zu|#}g3D?Rr>fFkZ=1*pgsYtje<5EO*f2;Brc5J7k)x7R#_XB$gkjSPffQsa6Kt9L? zNd@AN;pH@L;lzH3&in$*&9}r|CMQ%YJZ6TE+ zqQ5K01$YK{$lyOh|L-Rtb=ZLh_v_Vb+Y`yL6Fgyhm$*&pZ_s4OT=D=??&SVUhRei3 zvSXK-Z9Zs7s5WTGTED(19ds`!@PKyU-sFo%0K3d3&Ddb+Ll)ulfQBFrwg%EB7zIcnJ(giA#g?TK^GH0}7~i*KhVbc(3*z71Li! z{YgM_C?Mnie*y;n!6ia=^#qNWQtw92rhCnhmy zx-yHw$LO~9Y_JFrl}7j&sAdHZzdpTg(<=Z}PZBWi|H#1Sfu|~uxRn_x3zo}ti$v?$ ze>YB*56Xk%t)PYUP1hC=rVFXVMf^Xesq+iy8$ctrKxb;DN$>)T#yxpF54T};E*$zs zgOCl?$v1XMt{&Fr`rf=21k721YyL@~vY?{x+;N;-HpkU`!7lET+54=?+0z*{nN1js zl5>FC5|-s1fe6%)wSe;inY04r5c9rED=%KqJJ|(yp`filJQq|*B42>TbLFjnLWdE@ zRi)~+luD>~$w`l8M81$~Jd2Ve1>tU;N_U9iC-Q4;avim(fIe_bjL6UUmY8$Q-F8U% z_u7ndTiJ^j><;ZOhn|p`O0waF(RxsANFoIGCV_a(%~pzhPLVHtk?+mP2lC11*75lf zwzXzpoOIjYm=Ik1!!;6wYqKvwEBhBuW@nTOanCQL4iT8-^N(}xPpQdqT>Wi$!{Fot zw>9N57;bACPMsG8%h=5L5SdmZV-e{#A!ZNFfdGG?p|7!_OB*j1c!7p)-!*y&94$rn z*FXmUUJZ7+;N~;o6Bkhov)I$JC6He)0shFZHb3$o4m;G?Pi_LsmgLdS)G|=p-a)SQ z{SKx5wMOb?;E}Ibem6b_c_Khkf7A~0c>&wk@Et?v&u6JI>@|%E2cV8cOZ@2h74xNd zMXD087KecKDlJhjlv1m!zQCZYz`7^)+l(r&`rc?GD%%1(+=5J0Jc1_J0Ob7XZ!; z88Zf;$_F58r7QzcNlA@ppmO2&*B0Ql0wT4?!*lnGWPsn?*2Hh~i8S!K+MUU$E#O$&@dJ+f zH6NgpFL$N1u=}(t(QLt;8O3apC)ztQWXFLneeGSi3~;&49@hcdWCx5nB|yv^Q=*}? zJor~hMz!>bN?)c2D8S+{RAB&gUT0)C=IJOd8VK+G4z<6PYk*63xrtVLA|!eBLmlE zkCl;MePuw-3qw6@pNf_2NDnyj`WPqkf&&@fpOg{oG=BcB;RM#1a`6M$4||4?m>(_t z{wFb1(IXwS)y(2JkjQ(J2G8?DqU8EX*~PuR55UfpO6u3}0xATObld|KfFA=6H=i9x zyPJKBm@!=kS%~Rq+`?^wpsp^$yZXjc5|>Rb+OKV2txnFvz-aR6g>|zoyppmI4F>n! z33&sm)!{r~1+eTzn5!=^stn)|+y~<@a#p>2;Z$sfcARvoOcE0zv?FTGeer!w?zot) zER}uf=+NL8{Y)-hs2+fUi?GWX?Id9>xl|ksd6HJ%Cv}H<)-$z4tc-oA83y?i>cK7* zj^)X40XY7Zc7}{FVW`sH78FZGY@hG$DZZpvQ$^jf2XZW%zxxecHShav{uu51&LQa7 zPW=*o8Kc!61JkpDiKO~BG1WeZJtYCQ<)PyYON9s6TYsuPJ^rn*$3}Gk`G4>sG6>ph z$a@8sV#TrCGl~7{pk8KulRVD^o%x()85oe90+SZRRqNvF5Z=WPzQsu_2xylnqLlWf zKr{V}5J7o;^Wc!!6dwag4F^TfJNmXHgJ1*A&W9GOjBw$L({}AkKGQ=!!go`^bh@?~ zClk!{u}ara0Q3Je=6}|S10R>EQfRTx>k^2Jyna3D`xp?waF&3b*w_MozceFOJ8X?2 z;dG!}$j_OVj#x6raAq=R$bpZeL2^VZjgm{QqY4QdKYeL<#ep%@zCMU_C7yQo!Ch8N zgCFWOWQvN48u#D-wtocjCAFaHEQxPrX)?D|F)pbZ2=_iiH16kc98K+@SZ!`z1N8;u z025WLu9mP6J!V54n;w9Ja1fXmXF9f{nM6m@1@*FdY}9cfXz?rbRM#;4cp}^tJjLY) z9vR6O><9rf4Yl|!ni#qFa4uv+1z6sDJD2ysntVpf`|604-LR7}uP(Wariuc;Yxkc0et8p5K<2tRzJj;@3fFjbxl8IVz0f?TCE_j;YFOdWmkP|vQ@ zl-SAiL$UOz1Sy6FEg+`0_G^4X43CkzkG_eI=@r+l)i>#$g3DIr+v*a~A48*J<%DG| zBB|2(PD}?%XwLo&hWg))B~6HPU9_wnkOdT?P*gWC)ZJ!5mp>6TMSNzmXpyZ7bxVT^ zT2kHdWEjj+N~K-qEa5XlGmhdtCI&NvO-fpej0A&ZX_cCcUHoN`<&XX`PW z@7ZmH$ixPJ_scJ~9yl4DV}uqzw^5`7jc(KqEt=e1Sv*u#4NiqxKr7>lIoqA4^L{+m z#_^$-L+#6tNOMwgz$?!Q!;A4MhMjY+56FN4^6HRJVcY81`ni|3{7DiqeVYc_%du@ znf9>X*vDSW{{p~eBv}#>w1I{JtxeV|rMFMODW@xO)ln^OMR^J~**>*2$uspFDFjM6 zXS99;@R6Z<$s1^?A3nWw6Ci;lkPU%-wxZMmBgei0`);`$A412Y>#PtcnI}P5)p?^} zib^=u%w->*d^PeVf|Sltlqy!BL)a{MG0*E2dl2m>r>5PP66Dz9Mn4=2p6*wLB#vgU zasD-ZSh;YjH|s+ieXvI2gF+8eHRucXamqZZ&!(D0_o9{6@mme<9jW3n9QQT`W;kJR zA;@Z+6C}OfF6z&Q#muESNF#_}Ws@L&179gBz>aJ0cAp<8MH&&m7P!gfey+Z4ofd6V z?XHk{2BB^dVu|QtKt3c;n9&Lv70iO9^i+a$5pRWX@8IQCP8ZRDyRSd$;&~Y8ey9|{ zruP*2?j$`sF=ZS4EZ^)|0>~2a8{&ZoO!F3)Vvbi#U%eH zz8iL^L5h;cYn*A}66dhr)y^wC_<72;NtigeU(viJeecu?x6NbP$VSaTchyF9t#LC} zQ2s(OajFL{0a@}T`?|_SW4F^IR^kJaz<@92a#h)ozwUnWf_3L(q!#^^ON z21;)#4#-m|(7sXtGL?aF3R+EAAU{qY(YhI~QNSl+4gqU9lB;|=w=)iKSW?e^r`-nP7JYfAj6>CX}dBBJ<^|4R+X{7!EKl2aC8^ur|?5@)});qIKo7 zp=o+xjlIf`W-vPwNUwG2tD8e!pC~M4qA}cOIO2&*7I4A7B}V{$Bi*>d6*+A@kKiTspTou9BYCp#58G!V6&iKO^%(sO13KwKlM<-QhoakJITR?7vS99|`1r+4- z)izZKj^tvYAX~igL`qN{437T3-r+IH23Hop{NMdZ3*K)HNi0GHjsSkwMyaw%!wm)K zGHbha5(L~#Zz4(7hQR2w~F|trl>&N{E5rdeMRfz?t4F}ALI}jWe zPcItRdWPCulUIzA>w@R%XiN^J4D7l24u*gP0SQ(aBC!BbEOU0FVUPA z0GTo{?a_4R%cOpRdYf){V$sUy2H(#&FHATwZpw8bzK3gcU8)kraJ)Qq>U=l!cLDw$ z=>~}Jvr2ac+>&4xNM7=IswT zp`90?ew=;jKoeL1-nIzUyz%)3Xy;_Dcc~FH^!c%JBeEiZ30wG1H3G}ZL&!1oBd|vm z84v326E9}YKlP-=?T2gB&VTiWI)saNwq?8N)`UJ_;VDn@14(atP)P^i z&T({Ldy3fCp?8js5bi4k<`V1G`@pim=Cf3C-Tz>xN$jNjVXmw3d5;Q*p9Qe~l!FNp z?r-^*yQPFe_&uk2joT~ObP(Xm|Jrgh;7FoP{^v+Scmnur4-#8iKK9o$7;uSCFWn!? z#bgx#x^KPjKlds;T2(ni#_wwBlPEZE%~EO9x93;5UuVMDHkXI{Aud@nop`h0PT{>R z00IqKV%e5oKQk_+Vw2DZceMS_Pl0`)HvL!g5umS2fW5tgoE>)0gy{kep(RSHw28Pt zJm}lnWD^8rBnXpmaudHBafwO;84xUZ{19*hO?G&fKV0`pxTwyjm1-sJvsDgCUmIGg zptAa4%In2f%$o;5iIVwCyV3|srmIaIpw6fU5GW(`MWgE8GnC90p!}o))V3I7fwSrT z_lQUuBrl8t&jIL|LBkR}k4eh2Smn0D2?YXGi5XClNr%+B#v4!u9hJPhKD*z!<1
    eZ{>Oqf&*F697h`wmT+%?vO9Ye&oHg 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 OmzYtk$ajt1BL4^N?liCf literal 0 HcmV?d00001 diff --git a/dependency-injection/docs/inject-name-demo-classdiagram.xml b/dependency-injection/docs/inject-name-demo-classdiagram.xml new file mode 100644 index 0000000000..5a8bb9f8c4 --- /dev/null +++ b/dependency-injection/docs/inject-name-demo-classdiagram.xml @@ -0,0 +1 @@ +7VhZbxs3EP41AtqHFDqydvOoy20KJwgiF2meDHp3pGXC5ahcyrLy6zPkDrWnYQVe5yGQIAjit8Njvm8OiYPJPHv4y4ht+g4TUIPxMHkYTBaD8fjP8YQ+HXAogCh6UwAbI5MCGpXASn4DBoeM7mQCec3QIiort3UwRq0htjVMGIP7utkaVX3XrdiEHUtgFQvVRj/JxKbBrYsS/xvkJg07jy7YvzsRf90Y3GnebzCerP2reJyJsBY7mqciwX0FmiyJVoNIK7tv2cMclKM20FbMu3rk6fHcBjSf7YkJ4Rz2EHyHhKjgIRqb4ga1UMsSnXn/wK0wpFFqM0VfR/SVNjWH/xj3g89u8Efkh8nUKeNW3YK+SaUu0CtJJyqmfAFrDxwNYmeRoPIE14hb3qc4szvoo24zlOPOxGxFYx9IwmyArS6PlFMkA2ZARyYTA0pYeV9fXXBMbY52Ja/0hantppm3vhdqx4teSVDJ7PBeZPBWf6EYXkCGLS3yvcyU0I70Cs1r1DYo5MZCyQ2RuYjJezAE3IOxkqJ5yg+sY24Wp1Il1+KAO+d9bilUw2iWopHfaFkR9qDHxrIUFPZVi5WbyYoZyMnmQyDezSyga5E7wNnEqJTY5vLueOCMJJB6htZixkbBUxcNc1RIbhABIXmC5M4x4CLzmOhtOUNVKiZwSQqRvy/ze3LJOqWV3H7Dds+Rn6thRf5XNNSkfbIASoYEdEzHmhI4NXfSGmEOlQfNqCAKvGZlROTW4FcIvGn0EbOuUMlQiBQFa7dCd5zkWxFLvbn2NovXJfKRWXHQPpUWVoS7M+2pCbhcpfXWyqd4KhM6u68VVlhRSO903qLU1lMZzehN5M5dfYjIrzmNScEwprczN3aOmvwTNI+mAcXVHlxsnRYSXtF2SHAQhIL+VBAEu+cEwetWELSEVbKZ6oWwoQf55P9hVTPSwtdtlvHG19FXfvma1JO21A5qSqjEHagPmEsr0a1vCtuGtD9BvYgZfEo9TvzniBd1iEcuNHP49t2/q5vb2fL27ft/lvOb5eJ2jsZQdVec3itriN1zRr9YTFycWNb7yGheohIUn8FONdoUzCl1/Nzde+zuUWjUob+P2rX9+LO71uC5Oz8nEvzvyFaD94XynPc95b2X80c6eafafeQ995NzJ+9NvY5O3qleD52c/6i3OrnFIkd/+/2csT9F845O/WIZO+LTVVT/CP/vJHWzExT2Pe9RHh1V7rLC9cVGyz5Fas5hp2sPXXDU7IIRp0yF5UB8jeQe/uWO2rcc4RbmF2E3umywe9FRt16K3fYlwi/G7njYYHfY0dP7YZeG5R2rf1a5x54svwM= \ No newline at end of file diff --git a/dependency-injection/docs/inject-qualifier-demo-classdiagram.png b/dependency-injection/docs/inject-qualifier-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..1ffe6453cbec44b8961f222bd034c65e5c06ba35 GIT binary patch literal 37170 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 Q(7=BRGOE(ArA&kVFOC`r#{d8T literal 0 HcmV?d00001 diff --git a/dependency-injection/docs/inject-qualifier-demo-classdiagram.xml b/dependency-injection/docs/inject-qualifier-demo-classdiagram.xml new file mode 100644 index 0000000000..ec122afe71 --- /dev/null +++ b/dependency-injection/docs/inject-qualifier-demo-classdiagram.xml @@ -0,0 +1 @@ +7Vptb+I4EP41le4+bEUIUPZjeenenrqn3tLT3X6qTGIS7zox5zil7K/fcTLTvHbhFOAkBEKAx87EM88zL7G4cqfRywfN1uEn5XN51e/5L1fu7KrfH/dd+LSCbS4Y9VAQaOHnIqcQLMR3jsIeSlPh86Sy0CgljVhXhZ6KY+6ZioxprTbVZSslq3dds4DuWAgWHpNN6d/CNyGZNSrkv3ERhHRnZ/Q+n1ky71ugVRrj/a767ip75dMRI11oaBIyX21KIncObtVKgWb7K3qZcmldS27Lr7t7Y/Z135rHuLcdF9A+zJZs5z64AodKm1AFKmZyXkgnmX3caujBKDSRhJ8O/ISb6u0/KM8GX+zgepgN/VuLjNW65vFjKOJceidgR/klX7kxW2QDS40CUbGDe6XWeJ+mlWh4olLtoR0wznjDdMBx1U0ushaWLkPPfOAq4rBlWKC5ZEY8V8nAkFPB67rCr/ADXdvuZtzLM5MpKr0TXPp/pkyKleD6Y/wVaDzjkWrAkWxEJFls/V7y9ErFhkCyY9ATgD9nHniEaxA8c20EEPoWJ4x13sQLhfTv2Val1iOJAbbSaBIqLb6DWkb3gGltEA1gfnnFwl6JoGmewJoHAsNemYvuWWIFdo2npGTrRCxfNxwBLCKeKGNUhIvIUkuIqZIKzAAHUPz8BHVrK8fU8waiNIt0x7REw00R4+4NysJKfKOwCwcwA5Y48M5mSL5iqQToISZ8Hnuws1sQ3+qlMJrpbWmiP5IWJ188w8/A/gQFIxZZYONlkn2xiPs1XdUVP1EMBpR0N4gILs5oUpAwMVp94wRVrDKSrkrooYjIKfnKaminZrJmnoiD+2zNbFBIPiMOVrQJheELkNs9baD02AwB+lYySyyh8MGiLEMZZljONkuttRKxybAbTuANaE5tVhqCXVMYA2loDG+7XJupisE+BtfBZRyovOGWzi0spODezUKkHZWRXbQbDLqzDlWUWNcAVop6dsmBpcqX5Zv/jGoEWGTVAmF8zLL3u0x9BWq3CbUV1SGUbMnlg0qEEcrq1/naGrQnQI+Q2oXeuDt4DhLlDKvzsFmdHYTi9OUZN1MJEjCjB6VZltLp06e/Fo9Pk/nTxz9+n08f57OnRep5PElWqZTbX37NU/ezArWX5Lln+HUt4WPs6XZFo4vltwtNMBpLNGmtppcG7ngN3IgenKiDQ1hL8DujFvjfH6CBQ6bVGrisLuWRvzAaQu4S+/vGPsVTl8apFW1a1wVtLN+Xxulg6A3Rg7vQO0DjhKcxjYJuVB6jVKsvEXtkzAnfU0Ssg23cobvl6xuoMqWO2bnuuWMSPHAtYKe2ZGNf/dpIL6WyNfaYXbRDh6OlNhq5f/oumjZT7o9iZUKuL23Siduk4bjaJrmDZhz2e20nXSTsRITmceelU+r2lLQ/A95ulVoBP0jibR5tXnqljvi1NEut+B3ilKntjPDSLf0fUdvSLh0vapvPs5/5v6mAorYHxFnpe9OR1le2ubHlsVa598Eaw9gCe4BiOKgXw2Zotbakh6iEzafIM/XxsObj8Qmd3Hzao1b5TLzr0vEVpYnmoSc58tDOJR3n69xhzbkt6eFozm0+MZ0bc2u516FgPYV3m48h50ZdSqlE3eHRvAvD4l9J2Vzpn1/u/Ac= \ No newline at end of file diff --git a/dependency-injection/docs/resource-demo-classdiagram.png b/dependency-injection/docs/resource-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0a41a19e921af046deb26274c06872d89339a6 GIT binary patch literal 46095 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 literal 0 HcmV?d00001 diff --git a/dependency-injection/docs/resource-field-demo-classdiagram.png b/dependency-injection/docs/resource-field-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6207d09a6e6623281e605d26431d1a869f6e28 GIT binary patch literal 17692 zcmeIabySpH_%@1&I)F5YbPS;=Ac%A`q#!voBHba~NDmDHQc?p742^Uu(xG$;C?Sn> z$Jyi0_gm|H=ll1p^Urb3V$HnI^XzBGz3=%eUvsXDC6Ph_S7dbKejqigSHg^boPjd?NT61fZ z{2zpiP=}w2)$+*FY|jr6;Dr~v)!Ftaj0Wq{G7z19-X*~BpS&j4ydPR~w@*>_BvNw! zPTD!^ozX$O<>|TDg@A@vL{H5B>*9~FNil2_cDi`qrI~K^}VYZCH>l_tWec}k! z;q0H+Q#ZXa!u;9I0vyFIDaTz!NYxu?RjzH?vvMw;ku3*0RZ<;F8TKfVJ}AjQkj4_V zbUc!hNUEQ{yOY?|R?TKi)!vL<$<=0+zVmc`x+L^1UYzqoW$7m~5sp=6J@4GB!<6UY zh1IiEYffx*Ld}2JTJCR-it=JcyM8Utnvi8kNEw~Sa9+| zR;;yEJrG(!=ARZ@;B2sLru$A}PuG+;WkHUA`-??OgZF^#8T-<$6{0)8QXXaa2pN4H z`p9zw8KiCQ+xui}JO@`aG=6(M>hN|}|JB&@8+fqCY|o>UylI_|=2}F!#AUWKeJ{^& z5@M|i4?4QK6|;bYU9UIPFG0#71He3hV9sji&Itqy!XYa66W{# zS0~2_xW~@);ho~-mn0pwZdOmIYbGLT&B(e#KVpXdK)Hs!7_FaLlC9OR5$b+`NrH8P zs=>d}@HAc!%fr?!{~=tj;7hT=L>>IwCEj+D_nnF*?PsNL<)W~TNBvW@<1=WFoL5sF zt7)6on|w_^%csWi?br%p#2PQ0BVLEjwmX>F{hWMk;sV2_WQJI%hgefohVwOuz)lc}WNT~7&a?Ba_$U7$T|C?f9@ zYE&>?)ugWIx;pbP9APdvW11edT|)l3+3WELUc0yIm|S9~db*X~cOR2D`H1q_J$&Sf zkwC=P0+dqVyLNomg_}kF)1CW4toNy$*Hu_u?f&>Ey}h<^cOG`;(&ka^*2@k1#Wuxolp~_LlZh-gY;Yk+1aW$5Wtxee8t>xwsc+dd%k@ z4ez>qLE(~;B%b;yCRS)g;%+wG-Q8-(-uWpEL;bHha5$FXCCB{XqX}G}z$V0TpGk#U^PlclCL{mMQIX+eRDx!#RU^ zb%~k`F3t`zxJcE0ZRz+!1fvYYVk+c1eXw<}^_t`CjDVAi{SgKRJ%&6?Lc`
    qwa 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 literal 0 HcmV?d00001 diff --git a/dependency-injection/docs/resource-field-demo-classdiagram.xml b/dependency-injection/docs/resource-field-demo-classdiagram.xml new file mode 100644 index 0000000000..44c742f2bc --- /dev/null +++ b/dependency-injection/docs/resource-field-demo-classdiagram.xml @@ -0,0 +1 @@ +7Vhtb+I4EP41SHcftgICtP1YoN1bqXtalZ7u7lPlJiZx1/HkHANlf/3OOGOSEPpyonfaOxUhFD8ejz3zzItDL5rljx+tKLLPkEjdG/aTx1407w2HZ8MIfwnYVsB4fF4BqVVJBQ1qYKG+SQb7jK5UIsuWoAPQThVtMAZjZOxamLAWNm2xJej2roVIw441sIiF7qK/q8RlwaxJjf8iVZqFnQcTtu9exF9TCyvD+/WG0dJ/qulcBF1saJmJBDYNKLpEt1oA1ExP+eNManJtcFu17uqJ2d25rTR8tucX4BQtWAu9YtN7w4nGpdMCH1J6uFJSJzeyhJWN5SfzgP5WYOYyhyCK6nfSbJbbBleWG5VrYXA0zVyuERzg4xKMW7AQjYVWqcHnGM8tLQJraZ1CQi54wkGBaJwpnVyLLazIutKht8NomoFV31CtCHvgtHUcW6PzlsSCViLcR9TKEmW+BJfRygq6FiUBJBOD1qIo1f3uwLmwqTJTcA5yFgqWXimtZ6ABzUAHBP6Da5rcMF1kq+TU8RBz9VFCLp3dokiY5bDhtBpxmm3qGI1GLJI14/OUBQXnRbrTXMcGPnB4HA4VVtEIlQ+U4XIpVtqhzQheIPAg1uJEwYlH9oMBzfRU1YFQOgtfZXCXAR8oy4YHGQoBouWSNBwOj7IQsTLptZeZj2rkhn1B0CZTTi4QpzNtsHwhBqhvqX0iZipJJKqcWnDCiYpxorcAZZz333iKX3TzrH8y7o3RrhmOkbgwxi+JWzcDg/YJXIfLJIbTRlJIHYiEkIcvR0KgngvOS9RHXLKOYX50oEjsEavVfoZXxIbq6XP+b7OaIxe0Q6Dxllief/DqW1RHXaoJ2qdQi3upv0CpqIIhZivZPWr/BfbOxq9j7+x48ninFnloQr/QaFko6xfGkKvQK3eff1vc3l19+nV+N69T+6efq+ReA6p9T+p/KizOX1nPx4wdExennbh4tnL/GG0cL2A/SBvvkHqgsz/Zxk/77T4+CNfBBvGDyaF6wCF1DPHcON6reTNtX6DTJ8uTaRteC15ib8SN9KhbGJ+uwZZM8N2Fh2hoBikYoS9rFD2HLySSNJDfGrSigXb7B+N+8CcNsOLRMLmgVynSWkhzmykqoIhSYvCSB+nclnNTrBxQ1d2d4Bo8wbRPdWY66PMZg3b5ftS6cWL+p/J5IqzU2L3Wbe1Hubn7YnQj/1opLCmv6H++8DzZZSgiyVlUnPbq5msaIacNdb03KEXjvVeKwaQbzIdiOVSso5zcfaXoRvd/2rtR6NTh3te9tQdHvrlzu7f2/5lzJ6fszRC6I1bx9t7FYf2fjJ9r/O8VXX4H \ No newline at end of file diff --git a/dependency-injection/docs/resource-method-byname-demo-classdiagram.png b/dependency-injection/docs/resource-method-byname-demo-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..c5cd0c0fcb8a0d1d3275da9875be05663b4db51a GIT binary patch literal 29579 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�{vW65F0TH+<3m9n|HDlsaDg-wA85FD=#cIrU65>iWRL@;ivPjmI{Z-} z!iiJ(dkISN5~BShT>V~3;Nab1fUx(y4B(r6B2I(@`8zYAb%VTk9=!`O4PS_9NRpzKys0b29sme_3hbi=ppXtn{aiBuT{q-#y`|??6$=S32pG!WoijXn|A>l7P1Csf=#VrUy)3kBg25BA_ z1u@SxhktooS^{@p7Uac*j9E=i$Oyj2xI@>3u?TY|F^nkD@J0?_L$i6_u6DeM4DTL-2x{nh)Pj$8Az@k&?3 zc#bSS{xWcBZG$f2mjh2~&QN~a;gHi?s=WZ>!jR8~gyi3!WVoXD^2=Wpx~qpu`qCmE z6bOdYM9zPKRw;AHhzO$HfZ)Y%YA$0T`%U<=yC>u*1#rC^EZ%C%e7%h!ieYf2cjTyWAmsh$B!_|8IL43J!(0 zhPlYbAsB7dgC|596Qw#kUiZ+gRZpvV?AA2a2U1d^Q|-q!6=0y+TMpWHUIN$TjN`m} zN-?uW`BycOI2OIsqZ2<=>}?>lSMSa>@u7+fCvli9)$%L_P;Ubrv(6)y|RYj>cNG-6QYOa_e zaNeeYZ*T*-!tMO<6!hXWZaCx)`&t4}>ZsOpd$lg~SJX|s(Ez<;eV~-Wk?MJKt{~$J z^g6zg{bI=z7!hg|0VL3G0reX6pZ8qHGcu0cv}fP}q+sfnT&?yEJk)rP)k)Q$D(rBq zmmc<}_z;F4XKDbw+93F;1MXMGJt>&UpZr%0?4|%7kcD{HFDHtTxT^m>nmPNy^5U!I{B-eFN%ye1S%d|7(ANhe(u$UXBntWeA)SOaqMqHl5rT;xX|YaNqlJ&^9vQ z6vi%Khw_f?g^+bImYx|*>GM=f7$a_(+y^$fKFhA;(*Vu2zw}kGXzly(^BZt7Vpn@# zg#yRLlwY$m3#EW#if#JQ+ty6>VllZR?=c9=kd)VwfYl_Yy?H*hn<_q;$kzekSB*IKF;F5T5xGfg8p|L;I4y;%-4T_vkhnC=UL4HPhC4S8~`m_2aXw< z0Vg2Cbwjzufib`1)5P41z#2~XvDA8yvLzE3_;t_Dv%MYasJwcqCXaLMQD8xPb!FfT zUnp$%wybS)RVQ%6>MCR4Y&mG=n`IMd&Azv={G>#0C+A5Vt>6s+z*txb9KZ23 zE&M7DTCe{Tya)m)8VTC=u(Xr^ZpKn8=%4gogmmd)DnD;Tmn6ynH+e@TJQv?5HMF9Y7Vdy0^F}L>&FD1Xd$UdE*d;wmjJV^DKK1Db*|p80IDq6 zp`s^(fKjaDTjSBD%gO7hB+>>mdlu09SC3qs4_y}k36wAMfK^$Pk2=^IPgH>2ine(9W39~xLQc6%S3|%<_ue)GhWSHef&RgqwK33 zSU~B362+w>?I|}VU6`Qaln9DUP<*Ze=73<|n7^z*y3`IPI!(xd>59t&1I`@a%zWAH nbN^QX8+A}gkS;FHKlWbYbAsL~JG=rO&BoyA>gTe~DWM4f06-Nq literal 0 HcmV?d00001 diff --git a/dependency-injection/docs/resource-method-demo-classdiagram.xml b/dependency-injection/docs/resource-method-demo-classdiagram.xml new file mode 100644 index 0000000000..94b39279fc --- /dev/null +++ b/dependency-injection/docs/resource-method-demo-classdiagram.xml @@ -0,0 +1 @@ +3Vhbb+I6EP41SN0HECGQbh8boNuutkerltXZ84QMcRL3OHFqHAr99R0749y4qCpdqV0eQvx5PJ755mJDxx0nm2+SZPGtCCjvDPrBpuNOOoPB14ELTw1sC2A0uiiASLKggJwKuGfPFME+ojkL6KohqITgimVNcCnSlC5VAyNSiqemWCh4c9eMRHbHCrhfEr6L/ssCFVu3vAq/piyK7c6Oh/4tyPL/SIo8xf06Azc0n2I6IVYXOrqKSSCeapA7BVqlEKBZvyWbMeWaWktbse7qwGxpt6Qp2nZ8ATq0UlvrOg2ACRwKqWIRiZTwaYX6xj2qFfRhFKuEw6sDr7Cn3P5G3Az+04PeyAyDSx0YrTWj6SxmaYFeMTCoWPJAldpiMpBcCYAqC34IkeE+hc3a0INeI7QSuVyiFKakIjKiKDUqGYdEpiKhYDKISMqJYuumdoIpFZVyFa3wgsweCAtGe014jlrv6GPOJOR4m39FN2BdnVaQYs9kYQQ0TZlgqTLWjPzOaAII4SwCOidL8J9KANZUKgbpfIkTCQsCEztOFpT7ZZKOBRcgD/vaNLXsag0Uy7lZbGhJlcN13k0+7TKKivo9DAK2he6wGL6acNT8UzNQqe2CeE2r01IgwnAFEW/HqzTvVSFEw2sR7Aw8riOVNeLnPea6dv0E0kyn+CXM9rMNPA210AE03lU6mfXcsDanQ9/FWOo5DGepE94i/DY7LyxwS6FKgjtapPtN+gBhYiKd0ERYWfCvFC/Xa90NBKTAnSYWg1QfMrDpH3B8yKw3EcJpCFIlI23dXX2Y0JDkXEHDAM1a8oGsSY+JnkHe2QMLaIwkECw/Xaz0l5VZZSTd6yhnKe3GeDpoM52ezpXWVjVn5re/7mdzfzq/+ef7dDybTuZjISWEkEPOl14V+zXtPNGGsy/F5FpAlh/faR+tO8CJ5hwh+6j/BQYlPqk4PavnxlvdbHXmdlM1NVz23iKBfQFSITfnXGhONj8UqcJDzYEOZsZXJGEQXXdyTfmaaq3Nln+wB++ccQd7rWPbM3ZFF4dP1X3G7SNmQ2PWnSN4yoFnDtaP2i0PtI2d9vhhm+En7N+vNflTl5xna8xeRIa7Ned4e2ru4h1K7nyn5Owd+MS7JVzEMXv0ghb3+wMErXXJ0mhmbuxwyXsXdodavsbuBTaZGrm25dW5tdgp3OKPu7+XW8/emW3men+MXBhWP2+Li3j1F4I7fQE= \ No newline at end of file diff --git a/dependency-injection/pom.xml b/dependency-injection/pom.xml new file mode 100644 index 0000000000..46f57e512e --- /dev/null +++ b/dependency-injection/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + + com.baeldung + dependency-injection + 0.0.1-SNAPSHOT + war + + @Resource vs @Inject vs @Autowired + Accompanying the demonstration of the use of the annotations related to injection mechanisms, namely @Resource, @Inject, and @Autowired + + + + junit + junit + 4.11 + test + + + org.mockito + mockito-all + 1.10.19 + + + org.springframework + spring-test + 4.2.6.RELEASE + + + org.springframework + spring-core + 4.2.6.RELEASE + + + org.springframework + spring-beans + 4.2.6.RELEASE + + + org.springframework + spring-context + 4.2.6.RELEASE + + + javax.inject + javax.inject + 1 + + + + + + + maven-compiler-plugin + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/*Demo.java + + + + + + + + + java.net + https://maven.java.net/content/repositories/releases/ + + + diff --git a/dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredDemo.java b/dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredDemo.java new file mode 100644 index 0000000000..c71365097f --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredDemo.java @@ -0,0 +1,27 @@ +package com.baeldung.autowired; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dependency.ArbitraryDependency; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Autowired-Type.xml"}) +public class FieldAutowiredDemo { + + @Autowired + private ArbitraryDependency fieldDependency; + + @Test + public void fieldDependency_MUST_BE_AUTOWIRED_Correctly() { + assertNotNull(fieldDependency); + assertEquals("Arbitrary Dependency", fieldDependency.toString()); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredNameDemo.java b/dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredNameDemo.java new file mode 100644 index 0000000000..c11ed5286a --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/autowired/FieldAutowiredNameDemo.java @@ -0,0 +1,27 @@ +package com.baeldung.autowired; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dependency.ArbitraryDependency; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Autowired-Name.xml"}) +public class FieldAutowiredNameDemo { + + @Autowired + private ArbitraryDependency autowiredFieldDependency; + + @Test + public void autowiredFieldDependency_MUST_BE_AUTOWIRED_Correctly() { + assertNotNull(autowiredFieldDependency); + assertEquals("Arbitrary Dependency", autowiredFieldDependency.toString()); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredDemo.java b/dependency-injection/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredDemo.java new file mode 100644 index 0000000000..5afce6ab6a --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredDemo.java @@ -0,0 +1,39 @@ +package com.baeldung.autowired; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dependency.ArbitraryDependency; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Autowired-Qualifier.xml"}) +public class FieldQualifierAutowiredDemo { + + @Autowired + @Qualifier("autowiredFieldDependency") + private ArbitraryDependency fieldDependency1; + + @Autowired + @Qualifier("anotherAutowiredFieldDependency") + private ArbitraryDependency fieldDependency2; + + @Test + public void fieldDependency1_MUST_BE_AUTOWIRED_Correctly() { + assertNotNull(fieldDependency1); + assertEquals("Arbitrary Dependency", fieldDependency1.toString()); + } + + @Test + public void fieldDependency2_MUST_BE_AUTOWIRED_Correctly() { + assertNotNull(fieldDependency2); + assertEquals("Another Arbitrary Dependency", fieldDependency2.toString()); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/dependency/AnotherArbitraryDependency.java b/dependency-injection/src/test/java/com/baeldung/dependency/AnotherArbitraryDependency.java new file mode 100644 index 0000000000..27ba03f6e8 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/dependency/AnotherArbitraryDependency.java @@ -0,0 +1,10 @@ +package com.baeldung.dependency; + +public class AnotherArbitraryDependency extends ArbitraryDependency { + + private final String label = "Another Arbitrary Dependency"; + + public String toString() { + return label; + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/dependency/ArbitraryDependency.java b/dependency-injection/src/test/java/com/baeldung/dependency/ArbitraryDependency.java new file mode 100644 index 0000000000..bab289777c --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/dependency/ArbitraryDependency.java @@ -0,0 +1,10 @@ +package com.baeldung.dependency; + +public class ArbitraryDependency { + + private final String label = "Arbitrary Dependency"; + + public String toString() { + return label; + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java b/dependency-injection/src/test/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java new file mode 100644 index 0000000000..1f59500ec5 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java @@ -0,0 +1,10 @@ +package com.baeldung.dependency; + +public class YetAnotherArbitraryDependency extends ArbitraryDependency { + + private final String label = "Yet Another Arbitrary Dependency"; + + public String toString() { + return label; + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/inject/FieldByNameInjectDemo.java b/dependency-injection/src/test/java/com/baeldung/inject/FieldByNameInjectDemo.java new file mode 100644 index 0000000000..a670ee8313 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/inject/FieldByNameInjectDemo.java @@ -0,0 +1,30 @@ +package com.baeldung.inject; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import javax.inject.Inject; +import javax.inject.Named; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dependency.ArbitraryDependency; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Inject-Name.xml"}) +public class FieldByNameInjectDemo { + + @Inject + @Named("yetAnotherFieldInjectDependency") + private ArbitraryDependency yetAnotherFieldInjectDependency; + + @Test + public void yetAnotherFieldInjectDependency_MUST_BE_INJECTED_Correctly() { + assertNotNull(yetAnotherFieldInjectDependency); + assertEquals("Yet Another Arbitrary Dependency", yetAnotherFieldInjectDependency.toString()); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/inject/FieldInjectDemo.java b/dependency-injection/src/test/java/com/baeldung/inject/FieldInjectDemo.java new file mode 100644 index 0000000000..df40e516ba --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/inject/FieldInjectDemo.java @@ -0,0 +1,27 @@ +package com.baeldung.inject; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import javax.inject.Inject; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dependency.ArbitraryDependency; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Inject-Type.xml"}) +public class FieldInjectDemo { + + @Inject + private ArbitraryDependency inject1Dependency; + + @Test + public void fieldDependency_MUST_BE_INJECTED_Successfully() { + assertNotNull(inject1Dependency); + assertEquals("Arbitrary Dependency", inject1Dependency.toString()); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/inject/FieldQualifierInjectDemo.java b/dependency-injection/src/test/java/com/baeldung/inject/FieldQualifierInjectDemo.java new file mode 100644 index 0000000000..3cc9b643c7 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/inject/FieldQualifierInjectDemo.java @@ -0,0 +1,40 @@ +package com.baeldung.inject; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import javax.inject.Inject; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dependency.ArbitraryDependency; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Inject-Qualifier.xml"}) +public class FieldQualifierInjectDemo { + + @Inject + @Qualifier("defaultFile") + private ArbitraryDependency defaultDependency; + + @Inject + @Qualifier("namedFile") + private ArbitraryDependency namedDependency; + + @Test + public void defaultDependency_MUST_BE_INJECTED_Successfully() { + assertNotNull(defaultDependency); + assertEquals("Arbitrary Dependency", defaultDependency.toString()); + } + + @Test + public void namedDependency_MUST_BE_INJECTED_Correctly() { + assertNotNull(defaultDependency); + assertEquals("Another Arbitrary Dependency", namedDependency.toString()); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/FieldResourceInjectionDemo.java b/dependency-injection/src/test/java/com/baeldung/resource/FieldResourceInjectionDemo.java new file mode 100644 index 0000000000..fbb378d672 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/FieldResourceInjectionDemo.java @@ -0,0 +1,25 @@ +package com.baeldung.resource; +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-NameType.xml"}) +public class FieldResourceInjectionDemo { + + @Resource(name="namedFile") + private File defaultFile; + + @Test + public void plainResourceAnnotation_MUST_FIND_DefaultFile() { + assertNotNull(defaultFile); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/MethodByQualifierResourceDemo.java b/dependency-injection/src/test/java/com/baeldung/resource/MethodByQualifierResourceDemo.java new file mode 100644 index 0000000000..fcca34dc2f --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/MethodByQualifierResourceDemo.java @@ -0,0 +1,43 @@ +package com.baeldung.resource; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-Qualifier.xml"}) +public class MethodByQualifierResourceDemo { + + private File arbDependency; + private File anotherArbDependency; + + @Test + public void dependencies_MUST_BE_INJECTED_Correctly() { + assertNotNull(arbDependency); + assertEquals("namedFile.txt", arbDependency.getName()); + assertNotNull(anotherArbDependency); + assertEquals("defaultFile.txt", anotherArbDependency.getName()); + } + + @Resource + @Qualifier("namedFile") + public void setArbDependency(File arbDependency) { + this.arbDependency = arbDependency; + } + + @Resource + @Qualifier("defaultFile") + public void setAnotherArbDependency(File anotherArbDependency) { + this.anotherArbDependency = anotherArbDependency; + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/MethodByTypeResourceDemo.java b/dependency-injection/src/test/java/com/baeldung/resource/MethodByTypeResourceDemo.java new file mode 100644 index 0000000000..af6a805bd9 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/MethodByTypeResourceDemo.java @@ -0,0 +1,30 @@ +package com.baeldung.resource; + +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-NameType.xml"}) +public class MethodByTypeResourceDemo { + + private File defaultFile; + + @Resource + protected void setDefaultFile(File defaultFile) { + this.defaultFile = defaultFile; + } + + @Test + public void defaultFile_MUST_BE_INJECTED_Correctly() { + assertNotNull(defaultFile); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/MethodResourceInjectionDemo.java b/dependency-injection/src/test/java/com/baeldung/resource/MethodResourceInjectionDemo.java new file mode 100644 index 0000000000..d746fd4d85 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/MethodResourceInjectionDemo.java @@ -0,0 +1,29 @@ +package com.baeldung.resource; +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-NameType.xml"}) +public class MethodResourceInjectionDemo { + + private File defaultFile; + + @Resource(name="namedFile") + protected void setDefaultFile(File defaultFile) { + this.defaultFile = defaultFile; + } + + @Test + public void defaultFile_MUST_BE_INJECTED_Correctly() { + assertNotNull(defaultFile); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/NamedResourceTest.java b/dependency-injection/src/test/java/com/baeldung/resource/NamedResourceTest.java new file mode 100644 index 0000000000..8b218dfe98 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/NamedResourceTest.java @@ -0,0 +1,27 @@ +package com.baeldung.resource; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-NameType.xml"}) +public class NamedResourceTest { + + @Resource(name="namedFile") + private File testFile; + + @Test + public void namedResource_MUST_FIND_SPECIFIED_File() { + assertNotNull(testFile); + assertTrue(testFile.getName().equals("namedFile.txt")); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/QualifierResourceInjectionDemo.java b/dependency-injection/src/test/java/com/baeldung/resource/QualifierResourceInjectionDemo.java new file mode 100644 index 0000000000..0aaa2085d5 --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/QualifierResourceInjectionDemo.java @@ -0,0 +1,35 @@ +package com.baeldung.resource; +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-Qualifier.xml"}) +public class QualifierResourceInjectionDemo { + + @Resource + private File defaultFile; + + @Resource + @Qualifier("namedFile") + private File namedFile; + + @Test + public void defaultFile_MUST_BE_Valid() { + assertNotNull(defaultFile); + } + + @Test + public void namedFile_MUST_BE_Valid() { + assertNotNull(namedFile); + } +} diff --git a/dependency-injection/src/test/java/com/baeldung/resource/SetterResourceInjectionDemo.java b/dependency-injection/src/test/java/com/baeldung/resource/SetterResourceInjectionDemo.java new file mode 100644 index 0000000000..25dd5bb9ff --- /dev/null +++ b/dependency-injection/src/test/java/com/baeldung/resource/SetterResourceInjectionDemo.java @@ -0,0 +1,29 @@ +package com.baeldung.resource; +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={ + "/applicationContextTest-@Resource-NameType.xml"}) +public class SetterResourceInjectionDemo { + + private File defaultFile; + + @Resource + protected void setDefaultFile(File defaultFile) { + this.defaultFile = defaultFile; + } + + @Test + public void setter_MUST_INJECT_Resource() { + assertNotNull(defaultFile); + } +} diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Name.xml b/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Name.xml new file mode 100644 index 0000000000..d7fe3abcb3 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Name.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Qualifier.xml b/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Qualifier.xml new file mode 100644 index 0000000000..d7fe3abcb3 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Qualifier.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Type.xml b/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Type.xml new file mode 100644 index 0000000000..c65b85ccf4 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Autowired-Type.xml @@ -0,0 +1,10 @@ + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Inject-Name.xml b/dependency-injection/src/test/resources/applicationContextTest-@Inject-Name.xml new file mode 100644 index 0000000000..610e8687a7 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Inject-Name.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Inject-Qualifier.xml b/dependency-injection/src/test/resources/applicationContextTest-@Inject-Qualifier.xml new file mode 100644 index 0000000000..627ec37914 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Inject-Qualifier.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Inject-Type.xml b/dependency-injection/src/test/resources/applicationContextTest-@Inject-Type.xml new file mode 100644 index 0000000000..405164e603 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Inject-Type.xml @@ -0,0 +1,10 @@ + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Resource-NameType.xml b/dependency-injection/src/test/resources/applicationContextTest-@Resource-NameType.xml new file mode 100644 index 0000000000..82cbe97157 --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Resource-NameType.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/dependency-injection/src/test/resources/applicationContextTest-@Resource-Qualifier.xml b/dependency-injection/src/test/resources/applicationContextTest-@Resource-Qualifier.xml new file mode 100644 index 0000000000..1680a6f66a --- /dev/null +++ b/dependency-injection/src/test/resources/applicationContextTest-@Resource-Qualifier.xml @@ -0,0 +1,16 @@ + + + + + + + + + +