๐๋ฐฑ์๋ : BackEnd
๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ (AOP) ํต์ฌ ๊ด์ฌ ์ฌํญ(core concern)๊ณผ ๊ณตํต ๊ด์ฌ ์ฌํญ(cross-cuttin concern) ๊ธฐ์กด OOP (๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ)์์๋ ๊ณตํต๊ด์ฌ์ฌํญ์ ์ฌ๋ฌ ๋ชจ๋์์ ์ ์ฉํ๋๋ฐ ์์ด ์ค๋ณต๋ ์ฝ๋๋ฅผ ์์ํ๋ ํ๊ณ๊ฐ ์กด์ฌํจ. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด AOP๊ฐ ๋ฑ์ฅ AOP๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํต์ฌ ๊ด์ฌ ์ฌํญ๊ณผ ์ ์ฒด์ ์ ์ฉ๋๋ ๊ณตํต ๊ด์ฌ ์ฌํญ์ ๊ธฐ์ค์ผ๋ก ํ๋ก๊ทธ๋๋ฐํจ์ผ๋ก์จ ๊ณตํต ๋ชจ๋์ ์์ฝ๊ฒ ์ ์ฉํ ์ ์๊ฒ ํจ AOP๋ application์์์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ(๊ธฐ๋ฅ์ ๋ถ๋ฆฌ) ์ฆ, ํต์ฌ์ ์ธ ๊ธฐ๋ฅ์์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํจ. ๋ถ๋ฆฌํ ๋ถ๊ฐ๊ธฐ๋ฅ์ ์ด์คํฉํธ(Aspect) (=๊ณตํต ๊ด์ฌ ์ฌํญ) ๋ผ๋ ๋
ํนํ ๋ชจ๋ ํํ๋ก ๋ง๋ค์ด์ ์ค๊ณํ๊ณ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ. OOP๋ฅผ ์ ์ฉํ์ฌ๋ ํต์ฌ๊ธฐ๋ฅ์์ ๋ถ๊ฐ๊ธฐ๋ฅ..
๐๋ฐฑ์๋ : BackEnd
SpringFramework๋? Spring Framework ๋ ์๋ฐ๋ก Enterprise Application ์ ๋ง๋ค ๋ ํฌ๊ด์ ์ผ๋ก ์ฌ์ฉํ๋ Programming ๋ฐ Configuration Model ์ ์ ๊ณตํด ์ฃผ๋ Framework ๋ก Application ์์ค์ ์ธํ๋ผ ์คํธ๋ญ์ณ๋ฅผ ์ ๊ณต. ์ฆ ๊ฐ๋ฐ์๊ฐ ๋ณต์กํ๊ณ ์ค์ํ๊ธฐ ์ฌ์ด Low Level ( ์ฝ๊ฒ ๋งํ๋ฉด setting )์ ์ ๊ฒฝ์ฐ์ง ์๊ณ Business Logic๊ฐ๋ฐ์ ์ ๋
ํ ์ ์๋๋ก ํด์ค๋ค Spring Container ์คํ๋ง ์ปจํ
์ด๋๋ ์คํ๋ง์์ ์๋ฐ ๊ฐ์ฒด๋ค์ ๊ด๋ฆฌํ๋ ๊ณต๊ฐ์ ๋งํจ. ์๋ฐ ๊ฐ์ฒด๋ฅผ ์คํ๋ง์์ ๋น(Bean)์ด๋ผ๊ณ ํ๋๋ฐ, ์คํ๋ง ์ปจํ
์ด๋์์๋ ์ด ๋น(Bean)์ ์์ฑ๋ถํฐ ์๋ฉธ๊น์ง๋ฅผ ๊ฐ๋ฐ์ ๋์ ๊ด๋ฆฌํด์ฃผ๋ ๊ณณ์ด๋ผ๊ณ ํ ์ ์์..
๐๋ฐฑ์๋ : BackEnd
JSP๋ฅผ ์ด์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์๋ Web Application Architecture๋ ํฌ๊ฒ model1๊ณผ model2 ๋ก ๋๋๋ค. Model1 : client์ ์์ฒญ์ ๋ํ Logic์ฒ๋ฆฌ์ response page(view)์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ๋ชจ๋ ํจ Model2 : ํ๋ฉด์ ๋ณด์ด๋ ๋ถ๋ถ๋ง ์ฒ๋ฆฌ (= MVCํจํด์ ์น ๊ฐ๋ฐ์ ๋์
ํ ๊ตฌ์กฐ ) Model1 view์ logic์ JSPํ์ด์ง ํ๋์์ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ ์ฅ์ ๊ตฌ์กฐ๊ฐ ๋จ์ํ๊ณ ์ง๊ด์ , ๋ฐฐ์ฐ๊ธฐ ์ฝ๋ค ๊ฐ๋ฐ ์๊ฐ์ด ๋น๊ต์ ์งง๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ๋น์ฉ์ด ๊ฐ์ ๋จ์ view์ฝ๋์ ๋ก์ง์ฒ๋ฆฌ๋ฅผ ์ํ java์ฝ๋๊ฐ ์์ฌ ์์ด์ JSP์ฝ๋ ์์ฒด๊ฐ ๋ณต์กํด์ง๋ค JSP์ฝ๋์ BE์ FE๊ฐ ํผ์ฌ๋์ด ๋ถ์
์ด ํ๋ค์ด์ง ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง๊ฒ ๋๋ฉด ์ฝ๋๊ฐ ๋ณต์กํด์ ธ ์ ์ง๋ณด์๊ฐ ์ด๋ ค์ ํ์ฅ..
๐๋ฐฑ์๋ : BackEnd
JSP(Java Server Page) HTML๋ด์ ์๋ฐ ์ฝ๋๋ฅผ ์ฝ์
ํ์ฌ ์น ์๋ฒ์์ ๋์ ์ผ๋ก ์น ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ์น ๋ธ๋ผ์ฐ์ ์ ๋๋ ค์ฃผ๋ ์ธ์ด ์คํ ์ servlet์ผ๋ก ๋ณํ๋ ํ ์คํ ๋จ (์ต์ด ํ ๋ฒ + JSP์์ ์) ๋ณํ์ WAS๊ฐ ํด์ค๋ค. JSP๊ฐ ๋น ๋ฅผ๊น Servlet์ด ๋น ๋ฅผ๊น? JSP๋ Servlet์ผ๋ก ๋ณํ๋๋ ๊ณผ์ ์ด ์๊ธด ํ์ง๋ง, ์ต์ด ํ ๋ฒ๊ณผ ์์ ์์๋ง ๋ณํ๋๋ค. JSP์์ GET๊ณผ POST๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ request.getMethod() JSP ๋ฌธ๋ฒ ์ ์ธ๋ฌธ ๋ฉค๋ฒ๋ณ์ ์ ์ธ์ด๋ ๋ฉ์๋๋ฅผ ์ ์ธํ๋ ์์ญ ์ ์ธ๋ฌธ ์์ System.out.println("A"); ๊ณผ ๊ฐ์ ๋ช
๋ น์ ๋ฃ์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ฒ๋ฆฌ๋ฌธ - ํด๋ผ์ด์ธํธ ์์ฒญ ์ ๋งค๋ฒ ํธ์ถ๋๋ ์์ญ. - Servlet์ผ๋ก ๋ณํ ์ se..
๐๋ฐฑ์๋ : BackEnd
1. WebArchitecture page ์ด๋๋ฐฉ๋ฒ url ์
๋ ฅ (get๋ฐฉ์) link (get๋ฐฉ์) form (get๋ฐฉ์) get (get๋ฐฉ์) post ์ฆ form์ post๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ง ์์ผ๋ฉด ๋ชจ๋ GET ๋ฐฉ์์ด๋ค. Persistence Login = ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก์ง 2. Servlet Servlet = Java + HTML ์๋ฐ์์ ๋ฐฑ์ค๋๋ฅผ ์ง์ํ๋ api ๋ ๊ฐ์ง servlet → ์๋ฐ์์ html์ด ํฌํจ jsp → html ์์ ์๋ฐ๊ฐ ํฌํจ ์ฒ์์ servlet์ด ๋จผ์ ๋์ด → ์๋ฐ์ดํ ์์ html์ ํ๋ํ๋ ๋ฃ๋๊ฒ ๋๋ฌด ํ๋ค์ด → html์ ์๋ฐ ๋ฃ์ผ๋ฉด ์ด๋จ๊น? → jsp ๋ฑ์ฅ ์ธํ ์์ฒด๊ฐ .java ์๋ธ๋ฆฟ ํ์ผ์์ ์์ฑ์ ์ ๋ง๋ค์ด๋ ๋จ → init๋ฉ์๋ ์ฌ์ฉํ๋ฉด ๋๋๊น ์น์์ ..
๐๋ฐฑ์๋ : BackEnd
ํ๋ก์ ํธ๋ฅผ ํ๋ ์ค, ์ ๋๋ api์์ Transaction silently rolled back because it has been marked as rollback-only ๋ผ๋ ์๋ฌ๋ฅผ ๋ง์ฃผํ๊ณ ํด๊ฒฐํ๋ฉฐ ์๊ฒ๋ ๋ด์ฉ์ ๊ธฐ๋กํ์์ต๋๋ค. 1. ๋น์ฆ๋์ค ๋ก์ง์์ ๋ฌด์ฑ์ํ ์์ธ์ฒ๋ฆฌ๋ฅผ ํ์ง ๋ง์ 1-1) ์์ธ ๋ธ๋ํ์ด ๋ฐ์ํ ์ ์๋ค. ์์ธ๊ฐ ๋ฐ์ํด๋ ์์ธ๋ฅผ ํก์ํด๋ฒ๋ฆฌ๊ณ ๋ค์ ๋ก์ง์ด ์ํ๋ ์ ์๋ค. try{ }catch(IOException e){ // ์์ธ ๋ธ๋ํ } ์ ์ฝ๋์์ IOException์ด ๋ฐ์ํ ๊ฒฝ์ฐ๋ฅผ try/catch๋ก ๊ฐ์ธ๋ฉด ๋ค์ ๋ก์ง์ด ์ ์ ์ํ๋๋ค. ๋น์ฆ๋์ค๋ก์ง์ด ์ ์ ์ํ๋์๋ค๊ณ ์ฐฉ๊ฐํ ์ ์๊ณ , ๋ฒ๊ทธ๋ฅผ ๋ฐ์์ํฌ ์ ์๋ค. 1-2) ๋ฌด์ฑ์ํ throws๋ฅผ ํ ์ ์๋ค. ํ์ ๋ฉ์๋..
๐๋ฐฑ์๋ : BackEnd
DTO์ ์์น๋ ํจํค์ง ์ค๊ณ๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ธ๊ฐ๋๊ฐ์ ๋ฐ๋ผ ์์ ํ ๋ฌ๋ผ์ง๋ค ์ด๋ค ๊ฒฝ์ฐ๋ repository ๊ณ์ธต์ ์์ ์๋ ์๊ณ , service ๊ณ์ธต์ ์์ ์๋ ์๋ค. ์ฌ๋ฌ ํจํค์ง์์ ๊ณต์ ํด์ผ ํ๋ ์ํฉ์ด๋ฉด ๋ณ๋์ dto ํจํค์ง๋ฅผ ๋ง๋ค์ด์ ๋ฃ์ด๋ . ํน์ ์๋น์ค ๊ณ์ธต๊น์ง๋ง ์ฌ์ฉ๋๋ฉด, ํด๋น ์๋น์ค ๊ณ์ธต์ dtoํด๋์ค๋ฅผ ํจ๊ป ๋๋ค. ํน์ฑ repository ๊น์ง ํด๋น dto๊ฐ ์ฌ์ฉ๋๋ฉด ํด๋น repository ๊ณ์ธต์ dtoํด๋์ค๋ฅผ ํจ๊ป ๋ ๊ถ๊ทน์ ์ผ๋ก๋ ํจํค์ง ์์ง๋์ ๊ฒฐํฉ๋๋ฅผ ๊ณ ๋ฏผํ๋ฉด์ ๊ฐ๊ธ์ ๋ค๋ฅธ ํจํค์ง์ ์ฐ๊ด์ ์ค์ด๋๋ก ํ๋ ๋ฐฉ์์ด ์ข์ ๋ฐฉ์์ด๋ค ์ฐธ์กฐ : https://www.inflearn.com/questions/24222/dto-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC..
๐๋ฐฑ์๋ : BackEnd
SpringBoot 2.7.13์์ swagger๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด dependencies๋ฅผ ์ถ๊ฐํ ๋ค ์คํํ์์ผ๋ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค ใ
ใ
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException ์ฐพ์๋ณด๋ application.properties ์ ์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋๋ค๊ณ ํ๋ค spring.mvc.pathmatch.matching-strategy=ant_path_matcher 2.6 ๋ฒ์ ์ดํ์ spring.mvc.pathmatch.matching-str..