์คํ๋ง6 ํํฐ์ ์ธํฐ์ ํฐ์ ์ฐจ์ด ํํฐ์ ์ธํฐ์ ํฐ๋ ๋ ๋ค ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์์ ํน์ ์์ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์๋ฐ ํํฐ์ ์คํ๋ง ์ธํฐ์ ํฐ๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ์ปจํธ๋กค๋ฌ์ ๋๋ฌํ๊ธฐ ์ ์ด๋ ์๋ต์ด ํด๋ผ์ด์ธํธ์ ๋๋ฌํ๊ธฐ ์ ์ ๊ฐ๋ก์ฑ์ ์ฒ๋ฆฌํ ์ ์๋ค.๋ํ ๋ ๋ชจ๋ ์์ฒญ์ ๋ํด ์ฌ์ ์ฒ๋ฆฌ(pre-processing)์ ์ฌํ ์ฒ๋ฆฌ(post-processing)๋ฅผ ํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ์์ฒญ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๊ฑฐ๋ ์๋ต ํค๋๋ฅผ ์์ ํ ์ ์๋ค.ํํฐ์ ์ธํฐ์ ํฐ๋ ๋ชจ๋ ์ฒด์ธ(chain)์ ํํ๋ก ์ฌ๋ฌ ๊ฐ๊ฐ ์ฐ์์ ์ผ๋ก ์คํ๋ ์ ์๋ค. ํ๋์ ํํฐ๋ ์ธํฐ์ ํฐ๊ฐ ๋ค์ ํํฐ๋ ์ธํฐ์ ํฐ๋ฅผ ํธ์ถํ๋๋ก ์ค๊ณํ ์ ์๋ค.์ด๋ ๊ฒ ํํฐ์ ์ธํฐ์ ํฐ๋ ๋ชจ๋ ์์ฒญ๊ณผ ์๋ต์ ๊ฐ๋ก์ฑ์ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง, ๊ทธ ๋์ ๋ฐฉ์๊ณผ ์ ์ฉ.. Framework/Spring Framework 2024. 3. 4. Spring Boot 3.X migration ์ด์ (feat. ์คํ๋ง ์ํ๋ฆฌํฐ, JWT ๋ณ๊ฒฝ์ ) ์คํ๋ง ๋ถํธ 2 ๋ฒ์ ์ ์ฌ์ฉํ๋ค๊ฐ 3๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ฒ ๋๋ฉด ์ฌ๋ฌ๊ฐ์ง ์ด์๊ฐ ์๊ธฐ๊ฒ ๋๋ค. ํนํ๋ JDK17 ๊น์ง ์ฌ์ฉํ๊ฒ ๋๋ฉด์ ๊ธฐ์กด์ ์๋ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ๋ชป ์ฐ๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ๋ง๋ค. ์ฌ๋ฌ๊ฐ์ง ๋ฌธ์ ์ ์ ๋ํด์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ๊ธฐ๋ก์ผ๋ก ๋จ๊ฒจ ๋์์ผ๊ฒ ๋ค. ๊ธฐ์กด ๋ณ๊ฒฝ ํ ์คํ๋ง ๋ถํธ ๋ฒ์ 2.7.17 3.0.11 ์๋ฐ ๋ฒ์ 8 17 JWT ๋ฒ์ 0.9.1 0.11.5 Spring Security ๋ ๋ชจ๋ 6๋ฒ์ (6:3.1.1.RELEASE) ์ ์ฌ์ฉํ์๋ค. thymeleaf์์ Spring Security๋ฅผ ์ฐ๋ ค๋ฉด springsecurity6๋ฅผ ์จ์ผ ํ๋ค. ๐ build.gradle ๋ณ๊ฒฝ ํ dependencies { implementation 'org.springframework.boot:spring-.. Framework/Spring Framework 2023. 11. 9. (23.01.11.)Spring ํ๋ ์์ํฌ : Spring Security -JDBC Authentication Spring Security -JDBC Authentication ์คํ๋ง ์ํ๋ฆฌํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๋ํ์ฌ ์ธ๊ฐ, ์ธ์ฆ ๋ณด์์ ํ๋ ค๋ฉด 3๊ฐ์ง๊ฐ ์์ด์ผ ํ๋ค. -config ํด๋์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ์ ๋ณด๊ฐ ์์ด์ผํ๋ค. (Datasource) -users์ authorities ํ ์ด๋ธ์ด ์์ด์ผ ํ๋ค. -๊ธฐ์กด์ ํ๋ In Memory Authentication ์ค์ ์ ๊ฑฐํด์ค์ผํ๋ค. users์ authorities ํ ์ด๋ธ ์์ฑ CREATE TABLE users ( username VARCHAR2(50) NOT NULL, password VARCHAR2(120) NOT NULL, enabled CHAR(1) NOT NULL, CONSTRAINT check_users_enabled CHECK(enabled .. Framework/Spring Framework 2023. 1. 11. (22.12.16)Spring ํ๋ ์์ํฌ : ์คํ๋ง ํ๋ ์์ํฌ์ ์ค๋ผํด ์ฐ๋ํ๊ธฐ spring framework, oracle , jdbc, ojdbc โโSpring ํ๋ ์์ํฌ ์ค๋ผํด ์ฐ๊ฒฐ ๋ฐฉ๋ฒโโ 1๋ฒ ๋ฐฉ๋ฒ jdbc ์ ์์ค ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(ํ๋ก์ ํธ์ jdbc ๋๋ผ์ด๋ฒ๋ง ๋ฑ๋กํด์ฃผ๊ณ ์ฝ๋ฉ๋ง ํด์ฃผ๋ฉด ๋๋ค.) 2๋ฒ ๋ฐฉ๋ฒ ์คํ๋ง ํ๋ ์์ํฌ์์ ์ ๊ณตํด์ฃผ๋ jdbc ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ 3๋ฒ ๋ฐฉ๋ฒ 2๋ฒ ๋ฐฉ๋ฒ + ORM ํ๋ ์์ํฌ(MyBatis) ์ฌ์ฉํ๊ธฐ 4๋ฒ ๋ฐฉ๋ฒ JPA(Java Persistence Api) ์ฌ์ฉํ๊ธฐ โโ1๋ฒ ๋ฐฉ๋ฒ: ํ๋ก์ ํธ์ jdbc ๋๋ผ์ด๋ฒ ์ค์น ํ ์ ์์ค ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒโโ ํ๋ก์ ํธ์ jdbc ๋๋ผ์ด๋ฒ๋ง ๋ฑ๋กํด์ฃผ๊ณ ์ฝ๋ฉ๋ง ํด์ฃผ๋ฉด ๋๋ค. ๋จผ์ jdbc ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ถ์ ํ๋ก์ ํธ์ ์ฐํด๋ฆญํ์ฌ [Build Path] - [Configure Build Path]์ ๋ค์ด๊ฐ๋ค. ๊ทธ๋ค์ Classpath๋ฅผ ์ ํํ๊ณ [Add E.. Framework/Spring Framework 2022. 12. 16. Spring ํ๋ ์์ํฌ : lombok ํ์ฉํ๊ธฐ, Annotation( GetMapping, PostMapping )ํ์ฉํ๊ธฐ โโlombok annotation (lombok ์ฃผ์)โโ @ToString : lombok ๋๋ถ์ Override ํด์ฃผ์ง ์์๋ VOํด๋์ค์์ ๊ทธ๋ฅ ์ธ ์์๊ฒ ๋๋ค. @EqualsAndHashCode(exclude= {"ename", "deptno", "sal","hiredate"}) : lombok ๋๋ถ์ Override ํด์ฃผ์ง ์์๋ VOํด๋์ค์์ ๊ทธ๋ฅ ์ธ ์์๊ฒ ๋๋ค. exclude ํด์ฃผ๋ฉด ํด๋นํ์ง ์๊ฒ ๋๊ณ 4๊ฐ์ง๋ฅผ ๋นผ์ฃผ์์ผ๋ empno๋ง์ผ๋ก eqauls ๋ฅผ ๋น๊ตํ๊ฒ ๋๋ค. @AllArgsConstructor : lombok ๋๋ถ์ ๋ชจ๋ ์๊ท๋จผํธ๋ฅผ ๊ฐ์ง ์์ฑ์๋ฅผ ๋ง๋ค์ด ์ฃผ์ง ์์๋ ๋ด๋ถ์์ ์์์ ๋ง๋ค์ด ์ค๋ค. @NoArgsConstructor : ์๊ท๋จผํธ๊ฐ ์๋ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ๋ง๋ค์ด ์ฃผ์ง ์.. Framework/Spring Framework 2022. 12. 15. (22.12.13)Spring ํ๋ ์์ํฌ : ์ค์น ๋ฐ ์๊ฐ ์ดํด๋ฆฝ์ค์ ์ฐ๋ํด๋ณด๊ธฐ Spring Framework -MVC ํจํด ์ง์ -View : jsp, thymeleaf -Controller ์ปดํฌ๋ํธ : ์๋ธ๋ฆฟ์ด ์๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ๊ฒ ๋๋ค. (์๋ธ๋ฆฟ์ ์คํ๋ง์์ ์ง์) - ํธํ๊ฒ ํด์ฃผ๋ Annotation (์ผ์ข ์ ์ฃผ์)์ ์ ๊ณตํด์ค๋ค. ์์ )@Controller,@Service, @Persistence, @Component ๋ฑ๋ฑ -Eclipse ์ Plugin ์ผ๋ก ์ค์นํ๊ฒ๋๋ค.(STS) -ํ๋ก์ ํธ ๊ด๋ฆฌ์ฉ ํด(Maven)์ด ๋ด์ฅ ๋ผ ์๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ด๋ฐ์์ ์ ์ ํ ํ์ผ์ ๋ฃ์ด ๋๋ ์ผ๋ง์ ํด์ค๋ค. ๋ทฐ๋ก์ jsp๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ค์ ์ด ํ์ํ๋ค. pom.xml ํ์ผ์ dependency ํ๊ทธ๋ฅผ ์ถ๊ฐํด์ผํ๋ค. Spring start boot application.properti.. Framework/Spring Framework 2022. 12. 13. ์ด์ 1 ๋ค์