From 8974b93f8f41b5553566702d197a279ca9799fc1 Mon Sep 17 00:00:00 2001 From: =taesan Date: Sun, 29 Dec 2019 20:49:53 +0900 Subject: [PATCH] =?UTF-8?q?DI=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boot_gradle_security/bin/main/application.yml | 20 ++++++++++++ .../config/CustomAuthenticationProvider.class | Bin 0 -> 2887 bytes .../com/boot/test1/config/WebMvcConfig.class | Bin 0 -> 1050 bytes .../test1/controller/TestController.class | Bin 0 -> 1202 bytes .../CustomAuthenticationFailureHandler.class | Bin 0 -> 3680 bytes .../CustomAuthenticationSuccessHandler.class | Bin 0 -> 5642 bytes .../test1/javaCode/PassWordEncoderTest.class | Bin 0 -> 3154 bytes .../bin/main/log4jdbc.log4j2.properties | 4 +++ boot_gradle_security/bin/main/logback.xml | 30 ++++++++++++++++++ .../src/main/resources/application.yml | 20 ++++++++++++ copyCmd | 2 ++ spring/di/Program.java | 3 -- spring/di/Student.java | 19 +++++------ spring/di/setting.xml | 9 +++--- spring/di/setting2.xml | 14 ++++++++ spring/di/ui/Computer.java | 6 ++-- 16 files changed, 105 insertions(+), 22 deletions(-) create mode 100644 boot_gradle_security/bin/main/application.yml create mode 100644 boot_gradle_security/bin/main/com/boot/test1/config/CustomAuthenticationProvider.class create mode 100644 boot_gradle_security/bin/main/com/boot/test1/config/WebMvcConfig.class create mode 100644 boot_gradle_security/bin/main/com/boot/test1/controller/TestController.class create mode 100644 boot_gradle_security/bin/main/com/boot/test1/handler/CustomAuthenticationFailureHandler.class create mode 100644 boot_gradle_security/bin/main/com/boot/test1/handler/CustomAuthenticationSuccessHandler.class create mode 100644 boot_gradle_security/bin/main/com/boot/test1/javaCode/PassWordEncoderTest.class create mode 100644 boot_gradle_security/bin/main/log4jdbc.log4j2.properties create mode 100644 boot_gradle_security/bin/main/logback.xml create mode 100644 boot_gradle_security/src/main/resources/application.yml create mode 100644 copyCmd create mode 100644 spring/di/setting2.xml diff --git a/boot_gradle_security/bin/main/application.yml b/boot_gradle_security/bin/main/application.yml new file mode 100644 index 0000000..faf3af2 --- /dev/null +++ b/boot_gradle_security/bin/main/application.yml @@ -0,0 +1,20 @@ +spring: + mvc: + view: + prefix: /WEB-INF/jsp/ + suffix: .jsp + + datasource: + # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy + # url: jdbc:sqlserver://192.168.0.31:1433;instanceName=BSHOP_DATA + url: jdbc:log4jdbc:sqlserver://192.168.0.31:1433;instanceName=BSHOP_DATA + username: jayhyub7 + password: dkagh1234. + +# jsp파일 reload할때마다 재부팅해야되서 해당설정 추가해주었음. +server: + servlet: + jsp: + init-parameters: + development: true \ No newline at end of file diff --git a/boot_gradle_security/bin/main/com/boot/test1/config/CustomAuthenticationProvider.class b/boot_gradle_security/bin/main/com/boot/test1/config/CustomAuthenticationProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..73a10fd65514b356b64f1795364ea92af2bdd4bf GIT binary patch literal 2887 zcmb7GYggMw5WQ;*B1RzzkO!r0NN5^tAj*R_4^vujpf3|>oY00og)AF^t#u@sg!Z5G zH}pe$PD@I2PMgpDPkr2#Y>*A5GAgeR=V9j;|$1(#)x=Wtibc(j8At`Wj-P|;dis_b(#npA&3N&;H z%u26p_%+XQ%O%gO+E1jnVfeOH_nctMFk8$S2U{2DH7!fl-JoE5n~r4*T+X+F^rIbP zrsZH(VDLWmoT|O-_|9s@o^f3ngxGz7Tls^)t=gvR8zs{Uq(_9i3JRTk;&^tEW>3^i z-)AhvIoFcRfWY*D#&#pMyscUwji#Eh)T&RD9Tiy?=!?u$N|WnGUY5(Y$E~g@$8~~f zo*7Lq3nX)NnL-Epb)3LSC7srB24@Aj%XW~f(6&JTXga@Fl5jDb!XSn;ydrQm3_a#% zJ_=aJt9VV|80|#v1ul*5vyo|^HW+(5s_Pu&_)%G5k%z7A>Wmc9=&r$D< z#bmJN5a?ukF^|AFCPj~thaO6!|5E_z*=+>NHp2KXc3KCh2&CqoT6Rs*-`6lIaQh$< z?bUt1ja~h2WCTu+jEoG&Lm5^JJs8Io4HLXp?S;}|;3`SrxFt#TcyS7Wx@Xz+au2R! zQo{{_t1pXA$6I)t*(Cv%Xw7nJW<_A2g-p@?&T6>Ta_uAc%J&@|S!JbH(UCVswG6Z3 zD~`OQqX&8q-o=cD_XMU62YC3k(J_l0?}r`ULV@vkHgapGSFj(~xoNZ1dv~FcCWU5B zhlcJH-p7X;J|NeR)K_$TgpWz;iZqK4*?MNT)YD~q6IhHxXcpuM)U4A&(GE&zZTGG1*LbGhR05*kF1fH*8m> z=1U!4;p>Qq>WJjnaa73XnuM+gPQ}Q{N`(`PSlJ?1U@B0nXo+ z);w^w9)Sq0k+9KqD{4gK>Wg`ARFwP8p+W{UMUEvFxG^>bhT2=~9)alKcp)&YjRmvT z=*!)Hy;hT6z%&iSGZ4*?^a{sA!700DQ1?jqv-^%rWu~*~l@uO>9g?H*#NO2lP3QXkU z6384}l)(0E8PFZsQLRarJuHh0>=_;Wbn=-{t%LG0{&?!*cZ%N$)!g>2aVT<6>2X~1 zd5UkdJS+HpGV=_5nanl@e#N<8@cK`om0>=6sR8sOi6QFs(>Frf)WJoJ@J-+iT%w&f zDJS`MIkfy2(RFd9nE4s6_oa6*mcZB!t_i%r%>_!gL+Kv3rzUnVoxq(W<-6nCn16x% zoz8G$uyY&tc5uG~-$Q?nfzr5*9xkWLSia5~DefIg}}NQ2#d8C?#oS91hkQ*#^A~ zLHt95T^fXj>l$u0|MT1wsGv$SF69Jdn34rb3BGH6D`VTJ{Xj87t?CBc2$7wMj_e}S ch^)^2O`cFSr8-xhP)gt_-xAo`t^K#azcUFm0{{R3 literal 0 HcmV?d00001 diff --git a/boot_gradle_security/bin/main/com/boot/test1/config/WebMvcConfig.class b/boot_gradle_security/bin/main/com/boot/test1/config/WebMvcConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..b63d183bbabe2ebba832cd0063dd6f19d80c90e1 GIT binary patch literal 1050 zcmb_bO>fgc5Pj>Uv1?4z8Yq;nLMf0?i4_v!5`+Ym5FnRIDRR&L*qSYl7p>O`NF4Y} zT#CejAHa`7jFZqdq7tIw;2F>E&f9r2Z-4y!_8q`O+_hmbtR-r|W2Fo?qBIY9qKZA4 z@m&#b4U^4rV57;fxE~E8o<~K-x8r@07#l5yXG&+he6MAZ?dfPBMoPcqBN6jb=wU9* zZ@8!^l!=T~#SC(#g=T0ymW4D=7#f{!$k5zWsc_N284orbhISwe@wytsLcfXPTrl{7 zN}@cBw5;RlV$-~pCBu5~cSb#eh|)BaVnh^;R(UQoR%~2ic=5k3@^Bef7*>c+U!+pgXl5&7_|yrGrnh72Y4!eG>7Ii7 z$u~}WFrIg>@tM?C^S){}2`Ue*(L^t5RVuTD|KEZxHaFt|Ia(usI3 zYt1Yjm-PL*AJnvdRTw!Cp)4f{>FJ?LNehootc0G25g!acCg{l{sq};{Zi0kN-yG4l z$diQ0&Qrw6GxBryzQX-7-uB40#)~e_(!V!3fCaQEqF09{vUPGmpceVX4d3_AA7FWR u!@qifYezT>bOMw)Pq}T%tnrp7Ia55!rt;PZ(ZVg-wXlxckNw_-d-!=TmA5u@}6@6DGTGT1$)Lo&jF zjHMr9PbqDMm0HCNUi7sY@px>c8l4#t;Y6D++()5eekKB|%_SGJ1H6}5J&^{7gsr@k zO4?TpitWyTLFq^ju?9t0t-}h`7_9fD!gopJqd67SmqDYi0}&2{kuIJlOZKy*i*)nD zER}~^my*~Cu-)$TuVgy0ZV39jc%}*Z+?Q%NKh80JO-OntXm+%GA;N@iTIQ~U2R9jb z&if!nl&wVQreRR!ndiYCgIeZiC3V^n#_?-Z5{EP~pN~I{3FEVBdV6W|-^1m61hAw6~CFgRGaZ7;{jub$o^ zG=UaMua?nQh6>p#dCq!MOUtF`8bzFJTG#yn_3xA@z}mD3s9>G^dR71%ut^aK0$Wt& zkZTle(|7$Nuo!Nnz$X+tV6n0Djm$i*F^4P8aJx%zw{p1KdECxI+?^%3yE)vwJZ^6x luDJyFAcuRH$2Aw?T1#;IIo#tsZhrx;0PR%a&TPM3fWHpA@G<}Z literal 0 HcmV?d00001 diff --git a/boot_gradle_security/bin/main/com/boot/test1/handler/CustomAuthenticationFailureHandler.class b/boot_gradle_security/bin/main/com/boot/test1/handler/CustomAuthenticationFailureHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..dae0c024518e4d681a58181e0d4485504b3d2ac4 GIT binary patch literal 3680 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 literal 0 HcmV?d00001 diff --git a/boot_gradle_security/bin/main/com/boot/test1/javaCode/PassWordEncoderTest.class b/boot_gradle_security/bin/main/com/boot/test1/javaCode/PassWordEncoderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..97143418e0fa971deb93ff0b09f2f9af27730432 GIT binary patch literal 3154 zcmbtW`%@EF6#gzCSvKpVLBY3aKurL%Bm$z~3&N|0M+-&4*1Ab9VIkQKyBjT9`>uWd zGqp3Ib*9sw{V)2Dbb9V4AupN2ILw5*_nv#t_nq^dbMKpf|NIL;AAa+ofuTETX4Qmg zI;z8MC!(%tkF-%U#nm~@w(pu&YRpK|r?o(<9yBo=5f*AjGt%m8VvQ#qhQm3seO$I> zxDhw4v})%p-AJ!kT9(u5x@z-e-qM{-HEC_;98)cAbA46pA7W@8)(zdc!O$2CEiyC- zNHQAXRp5a{F5|kvXY$zuA=45W&ftriNiDOeS-SWxPBuBKy3KGYz7LkdJ9kOT@ZqQj ztqiff&{@%vj%jVyvKe=$b#5y-hBk(CNsDU^kMRsoYYqiSM7n}K!>wTG-Qw2*hT{qj zpjpC6ie4moxzCH!IP1X~hT*-C*)2B;j^G?aPcUBA!RV@H&GU^sMU4-IDi-D)A%LM4 zypIkK0#)Lf-?SZ`RnUp^lw~tdIyzR^s+;N@?Q>{1*Rn$%Tx4i3dn+6|lGigNO9>$c z#a}|}zvh>50o_6+J#=6t$|9K1qOb@nP|-`7)^a&+q(~xfGp(ai^g1Mth$^^@J_gA# z3r8~?rNq?&CEEcEdT@oI)m^Kmr{JnU>Jg>lWDE%;zr%itWJwi7Ny2r8{z!O-X0ay2 zSY-IS~`c}RAsWN z@Q0SkuoMo_6zbB!;H^MM;xSAL=TvHRl_%FF%u4u}N~ANYbw+wSXPv&jnX!TO$og!5 zVr6D>VXikj$k$T232V?aCnpxJ_GV^dQ8k{Mn0m6J&tJ|Bm>VA4Wfd} zQZW6g-Fn^sDA+CMMciaKvFi~Gllw!tYpkjAWX&+0Rc=w-B&;w%#wyl4(D#^xlJe9U zb2e9#1O@A&{d?2gnKEogqh=`~OJ!-8W{#M8U^0yCCDl7#<`V0vm1vD083w!(EQXex zyY8M%?R9EjXHRq6*3vwtr|IUeaUtOm;hvwoeJR>MAj3wtgiVTGafTeyrIV$aXJ`xF zudhKNjAsmoIyyQ;$D+I4PeYk*t*^xWB1!m$x}aDs7H4VsI|Uz!${~8yTe8FvWb#39&79v~dFU?+~+3vd8VVV^ubicxlMr>iEdefNL zP9y`rAO4yE}73~P&IBw!39^e!q2iPGBUlxeds4*SI~<=`n!r53{krt#zS1k zBT9jgQGu?rLw92*@L5-xA}vqwv`9Ba^o1@16l&iWq@0)dQVhR#hu@0f_wMj{8QEFV oH84UU8-*7!O70liFpjgBpgNdzQ53`+z)$#@Y#Dx`-v<2pA2zL6tpET3 literal 0 HcmV?d00001 diff --git a/boot_gradle_security/bin/main/log4jdbc.log4j2.properties b/boot_gradle_security/bin/main/log4jdbc.log4j2.properties new file mode 100644 index 0000000..943be0d --- /dev/null +++ b/boot_gradle_security/bin/main/log4jdbc.log4j2.properties @@ -0,0 +1,4 @@ +# maxlinelength is decide the number of line +# 0 is noLimit , no Option is Just one line +log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator +log4jdbc.dump.sql.maxlinelength=0 \ No newline at end of file diff --git a/boot_gradle_security/bin/main/logback.xml b/boot_gradle_security/bin/main/logback.xml new file mode 100644 index 0000000..3844b7b --- /dev/null +++ b/boot_gradle_security/bin/main/logback.xml @@ -0,0 +1,30 @@ + + + + %d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/boot_gradle_security/src/main/resources/application.yml b/boot_gradle_security/src/main/resources/application.yml new file mode 100644 index 0000000..faf3af2 --- /dev/null +++ b/boot_gradle_security/src/main/resources/application.yml @@ -0,0 +1,20 @@ +spring: + mvc: + view: + prefix: /WEB-INF/jsp/ + suffix: .jsp + + datasource: + # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy + # url: jdbc:sqlserver://192.168.0.31:1433;instanceName=BSHOP_DATA + url: jdbc:log4jdbc:sqlserver://192.168.0.31:1433;instanceName=BSHOP_DATA + username: jayhyub7 + password: dkagh1234. + +# jsp파일 reload할때마다 재부팅해야되서 해당설정 추가해주었음. +server: + servlet: + jsp: + init-parameters: + development: true \ No newline at end of file diff --git a/copyCmd b/copyCmd new file mode 100644 index 0000000..4085480 --- /dev/null +++ b/copyCmd @@ -0,0 +1,2 @@ +cp -r /c/dev/workspace_STS/boot_gradle_security/ /c/dev/gitDir/Spring + diff --git a/spring/di/Program.java b/spring/di/Program.java index 33f7fc8..7c2f0a9 100644 --- a/spring/di/Program.java +++ b/spring/di/Program.java @@ -11,7 +11,6 @@ public class Program { public static void main(String[] args) { - Exam exam = new NewlecExam(); //ExamConsole console = new InlineExamConsole(exam); // DI //ExamConsole console = new GridExamConsole(exam); @@ -32,8 +31,6 @@ public class Program { //ExamConsole console = (ExamConsole)context.getBean("console"); ExamConsole console = context.getBean(ExamConsole.class); - console.setExam(exam); - console.print(); diff --git a/spring/di/Student.java b/spring/di/Student.java index 0d397fe..03ad89e 100644 --- a/spring/di/Student.java +++ b/spring/di/Student.java @@ -1,22 +1,19 @@ package spring.di; -import spring.di.entity.CableMouse; -import spring.di.entity.Mouse; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + import spring.di.ui.Computer; public class Student { public static void main(String[] args) { + ApplicationContext context = + new ClassPathXmlApplicationContext("spring/di/setting2.xml"); + + //Computer computer= context.getBean(Computer.class); + Computer computer = (Computer)context.getBean("computer"); - Computer computer = new Computer(); - - Mouse mouse = new CableMouse(); // 유선마우스 - //Mouse mouse = new WireLessMouse(); // 무선마우스 - - // 작업을 위한 준비. 마우스 연결 - computer.connectMouse(mouse); - // 연결확인 computer.mouseCheck(); - } } diff --git a/spring/di/setting.xml b/spring/di/setting.xml index 29bfdae..bd8bf57 100644 --- a/spring/di/setting.xml +++ b/spring/di/setting.xml @@ -4,13 +4,12 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - + - - + + - + - diff --git a/spring/di/setting2.xml b/spring/di/setting2.xml new file mode 100644 index 0000000..eedeab0 --- /dev/null +++ b/spring/di/setting2.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/spring/di/ui/Computer.java b/spring/di/ui/Computer.java index 6511b0e..29aecc9 100644 --- a/spring/di/ui/Computer.java +++ b/spring/di/ui/Computer.java @@ -5,10 +5,10 @@ import spring.di.entity.Mouse; public class Computer { private Mouse mouse ; - public void connectMouse(Mouse mouse) { - this.mouse=mouse; - }; public void mouseCheck() { mouse.mouseCheck(); }; + public void setMouse(Mouse mouse) { + this.mouse=mouse; + } }