์ ์ฒด ๊ธ(210)
-
IOC์ DI (๊ฒฐํฉ๋) / @(์ด๋ ธํ ์ด์ )
IOC์ DI ์ด๋ ํ ๋ ์คํ ๋์์ ์๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก ์๋ก ๋ค๋ฉด ์๋์ ๊ฐ๋ค. package test; public class Restaurant { private Ch chef = new Chef(); //private Ch chef = new SuperChef(); ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ์๋ฆฌ์ฌ๋ง๋ค ํด๋น๋๋ ํด๋์ค๋ง ๋ฐ๊พธ๋ฉด ๋จ. //๊ทธ๋ฌ๋ ์ด์ฉ ์ ์์ด ์ด๋ค ๊ฐ์ฒด๋ฅผ ์ธ ์ง๋ ๊ฐ๋ฐ์(๊ฐ์ฒด๋ฅผ ๋ง๋๋ ์ฃผ์ฒด)๊ฐ ์ ํจ. >> ๊ฒฐํฉ๋ ์๊น //๊ฐ์ฒด ์์ฑ์ ์คํ๋ง์ด ๋์ ํด์ฃผ๋ฉด ๊ฒฐํฉ๋ ↓ //์ด ์ ์๋ฅผ IOC(Inversion Of Control) : ์ ์ด์ ์ญ์ ์ด๋ผ๊ณ ํจ //DI(Dependency Injection) ์์กด์ฑ ์ฃผ์ : IOC๋ฅผ ์คํํ ๊ฐ๋ (Spring์ ์์กด์ฑ ์ฃผ์ ์ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํด์ค..
2023.03.14 -
Spring - DB ์ฐ๊ฒฐ
DB์ฐ๊ฒฐ์ ์ํด ํ๋ก์ ํธ ๋ง๋ค ๋ ์๋ ์ฒดํฌ๋ฐ์ค 6๊ฐ์ง ์ฒดํฌํด์ ๋ง๋ค๊ธฐ. application.properties์ ํฌํธ ๋ณ๊ฒฝ ์ฝ๋์, ๋ด์ฉ ๋ณ๊ฒฝ ์ฆ์ ๋ฐ์ ์ฝ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์ ๋ณด ์ฝ๋ ์ถ๊ฐ # tomcat port๋ฅผ 8081๋ก ๋ณ๊ฒฝ server.port=8081 #thymeleaf๋ก ๊ทธ๋ ค์ง ํ๋ฉด์ด ๋ณ๊ฒฝ๋๋ฉด ์ฆ์ ๋ณ๊ฒฝ๋ด์ฉ ์ ์ฉ. spring.thymeleaf.cache=false #๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์ ๋ณด #spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521/xe #spring.datasource.driver-class-name=oracle.jdbc.OracleDriver spring.datasource.driver-class-name=net.sf.lo..
2023.03.14 -
Spring ์ด์ฉ - ํ์๊ฐ์ ๋ฐ ํ์ ์ ๋ณด ํ์ธ ํ๋ฉด ๊ตฌํ 2023.03.13
-
Spring ํ์ฉ ์น ๊ฐ๋ฐ
Spring.io 4.15.1 ๋ฒ์ 2๋ฒ์งธ ํ์ผ ๋ค์ด๋ก๋ SpringToolSuite4 ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์ด์ ์๋ ์ซ์ ๋ฐ๊ฟ์ค -Xms2048m -Xmx4096m Spring ์ด์ฉ์ ์ฃผ์ : ๋์์ฐ๊ธฐ๋ ๋ค ๋ฌธ์์ด๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ์กฐ์ฌํ ๊ฒ. Spring ์ด์ฉํ์ฌ page ์ด๋ Controller class๋ก ์์ฑ ๊ธฐ๋ณธ package์ธ com.study.test ์์ ๋ค๋ฅธ ํด๋์ค ๋ง๋ค์ด์ผ ์๋ ๋จ!! (๊ธฐ๋ณธ์ ์ผ๋ก ๋ด๋ถ์์ ์๋์ผ๋ก ํด์ฃผ๋ ๊ฒ๋ค์ด ๋ง์์) Spring ํ์ด์ง ์ด๋ Controller class์ ์ด๋ ธํ ์ด์ ์ผ๋ก @Controller ์ ์ด์ฃผ๊ธฐ! @Controller : ํด๋น ํด๋์ค๊ฐ ์ปจํธ๋กค๋ฌ ์ญํ ์ ํ๋ ํด๋์ค์์ ์ง์ ์ดํด๋ฆฝ์ค ์น ๊ฐ๋ฐ์์ Controller์์ if๋ฌธ์ผ๋ก ์คํ๋ฌธ ์์ฑํ๋ ๊ฒ๋ค์..
2023.03.13 -
div ํ๊ทธ ๊ฐ๋ก ๋ฐฐ์น
๋ฐฉ๋ฒ1. float ์์ฑ ์ฌ์ฉ div1 div2 div3 div4 div ํ๊ทธ (block ํ๊ทธ) ๋ธ๋ก ํ๊ทธ์ ์ฑ์ง ๋๋ฌธ์ ํ ์ค ์์ญ ์ฐจ์ง ํ๋ค. > ์ธ๋ก๋ก ์ ๋ ฌ๋จ. ๊ฐ๋ก๋ก ๋ฐฐ์นํ๊ธฐ ์ํด์๋ ์ฐ์ ๊ฐ๋ก ์์ญ์ ์ค์ฌ์ผ ๋จ. float ์์ฑ ์ฌ์ฉ. float: left; : ์ผ์ชฝ์์๋ถํฐ ์ฐจ๊ณก์ฐจ๊ณก ์์์ฃผ๋ ๊ฐ๋ ๊ฐ๋ก๋ก ๋ฐฐ์นํ ๋ ๊ณต๋ฐฑ ์์ด ๋ถ์ด์ ๋์ด. ๊ทธ๋ฌ๋ ๊ฐ์ธ๊ณ ์๋(๋ฐฐ๊ฒฝ) div ๊ธฐ์ค์ผ๋ก ์ ์ฒด์ ์ผ๋ก ๋ฐฐ๊ฒฝ ์์ผ๋ก ํ์ด ๋์จ๋ค. ๋ฐฐ๊ฒฝ div ํ๊ทธ (๋ถ๋ชจ div ํ๊ทธ)์ ์ค๋ฒํ๋ก์ฐ ์์ฑ ์ถ๊ฐํ๋ฉด ๋ค์ ๋ถ๋ชจ div ์์ญ์ผ๋ก ๋ค์ด์ด. overflow: auto; ๋ฐฉ๋ฒ2. display ์์ฑ ์ฌ์ฉ. div1div1div1 div2 div3 div4 display ์์ฑ์ inline-block ์ฌ์ฉ display..
2023.03.07 -
JavaScript(๋ ๊ฐ์ฒด ์ปจํธ๋กค)
์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฉ : ๊ธฐ๋ณธ ์ฝ๋ฉ ๋ฌธ๋ฒ, ๋(ํ๊ทธ) ๊ฐ์ฒด ์ปจํธ๋กค - ํต์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฉ : ๊ธฐ๋ณธ ์ฝ๋ฉ ๋ฌธ๋ฒ, ๋(ํ๊ทธ) ๊ฐ์ฒด ์ปจํธ๋กค-ํต์ฌ javascript์์ jsp์ input ํ๊ทธ์ ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ ์ฌ๋ฌ ๊ฐ๋ค๋ ๋ถ๋ฌ์ฌ ์ ์๋ค. โผํ๊ทธ ์ ํ ์ ์ฌ์ฉํ๋ ์ฝ๋ document.querySelector('#aaa'); document.querySelector('#ํ๊ทธ ์์ด๋๋ช '); document.querySelector('.ํ๊ทธ ํด๋์ค๋ช '); ์ ๋ ฅ๋ num1, num2์ value ๊ฐ์ ๋ถ๋ฌ์ด > ์ ๋ ฅ ๋ฐ์ ๋ฐ์ดํฐ ๋ฌธ์์ด int๋ก ๋ณํํด์ค ํ value ๊ฐ ๋ํด์ค ๋ํ๊ธฐ ๋ฒํผ ๋๋ฅด๋ฉด getSum ํจ์ ์คํ๋๋ ๊ฒ ํ์ธ ๊ฐ๋ฅ.
2023.03.03 -
subquery
์๋ธ์ฟผ๋ฆฌ : ์ฟผ๋ฆฌ ์์ ๋ค๋ฅธ ์ฟผ๋ฆฌ๊ฐ ๋ค์ด๊ฐ ์์ ๊น์ฌ๋ ์ฌ์๊ณผ ๊ฐ์ ๊ธ์ฌ๋ฅผ ๊ฐ๋ ์ฌ์์ ๋ชจ๋ ์ ๋ณด ์กฐํ๋ฅผ ํ๋ค๋ฉด SELECT SAL FROM EMP WHERE ENAME = '๊น์ฌ๋'; SELECT * FROM EMP WHERE SAL = 300; ์์ ๊ฐ์ด 2๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํจ. ๊ทธ๋ฌ๋ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํ๋ฒ์ ์์ฑ ๊ฐ๋ฅ. SELECT * FROM EMP WHERE SAL = (SELECT SAL FROM EMP WHERE ENAME = '๊น์ฌ๋'); ์๋ธ ์ฟผ๋ฆฌ๋ ๋ฌด์กฐ๊ฑด ()์์ ๊ฐ์ธ์ ธ์ผ ํ๊ณ , ํด์ํ ๋๋ ์๋ ์ฟผ๋ฆฌ๋ถํฐ ํด์ --๊ฐํ์ ์ฌ์๊ณผ ๊ฐ์ ๋ถ์์์ ๊ทผ๋ฌดํ๋ ์ฌ์๋ค์ ๋ชจ๋ ์ ๋ณด ์กฐํ SELECT * FROM EMP WHERE DEPTNO = (SELECT DEPTNO FROM EMP W..
2023.03.03 -
์ผํ๋ชฐ ํ๋ก์ ํธ
**์ฐธ๊ณ ์ฌํญ ์ค๋ฅ ๋ณด๋ ๋ฒ CREATE TABLE SHOP_MEMBER ( MEM_ID VARCHAR2(50) PRIMARY KEY , MEM_NAME VARCHAR2(50) ); INSERT INTO SHOP_MEMBER VALUES ('java1', '๊น์๋ฐ'); ์์ 'java1'์ด๋ผ๋ ์์ด๋๋ก ๋ INSERT ํ์ ๋ ์ค๋ฅ์ฐฝ์ ๋ณด๋ฉด ์๋์ฒ๋ผ ๋จ๋๋ฐ ์ ์ฝ ์กฐ๊ฑด๋ช ์ ์ค์ ํด์ ์ด๋์ ์ค๋ฅ ๋ด๋์ง ์ ์ ์๊ฒ ํ๋ ๋ฐฉ๋ฒ ํ ์ด๋ธ ์์ฑ ์ CREATE TABLE SHOP_MEMBER ( MEM_ID VARCHAR2(50) CONSTRAINT MEMBER_PK PRIMARY KEY , MEM_NAME VARCHAR2(50) ); CONSTRAINT ํค์๋ + ์ ์ฝ์กฐ๊ฑด๋ช (๊ฐ๋ฐ์ ์ง์ ) ๋ฃ์ผ๋ฉด ์๋์ฒ๋ผ ์ด๋์ ..
2023.03.02 -
โ select-join2
๋ชจ๋ ๊ฒ์๊ธ์ ๊ธ๋ฒํธ, ์์ฑ์ ํด๋น ๊ฒ์๊ธ์ ๋ฌ๋ฆฐ ๋๊ธ๋ฒํธ, ๋๊ธ ๋ด์ฉ, ๋๊ธ ์์ฑ์๋ฅผ ์กฐํํ๋ ์ฟผ๋ฆฌ ๊ฒ์๊ธ ๋ฒํธ ์์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ โผ์ดํ(EQUAL)์กฐ์ธ, ์ด๋(INNER)์กฐ์ธ SELECT B.BOARD_NUM , TITLE , B.WRITER , REPLY_NUM , R.CONTENT , R.WRITER FROM BOARD B, BOARD_REPLY R WHERE B.BOARD_NUM = R.BOARD_NUM ORDER BY B.BOARD_NUM; ์ปฌ๋ผ๋ช ์ด ์ค๋ณต๋๋ฉด _๋ถ์ ํ ์์๋๋ก ๊ฐ์ ธ๊ฐ. ๋๊ธ ์๋งํผ ๊ฒ์๊ธ ๋ด์ฉ์ ๋ฐ๋ณตํด์ ๋์ด. ์ JOIN ์ฟผ๋ฆฌ๋ ๋๊ธ์ด ๋ฌ๋ฆฐ ๊ฒ์๊ธ๋ง ๋์ด > ๋๊ธ์ด ์ ๋ฌ๋ฆฐ ๊ฒ์๊ธ์ ์ ๋ณด๋ ์กฐํ X ๋๊ธ์ด ์๋ ๊ฒ์๊ธ์ ์ ๋ณด๋ ์กฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ โผ์์ฐํฐ(OUTER..
2023.03.02