์ ์ฒด ๊ธ67 [TIL] 221111 - SpringBoot Part2 : ํธ๋์ญ์ ๊ณผ AoP SpringBoot Part2 (5) AoP - ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ,๊ด์ฌ ์งํฅ์ ํ๋ก๊ทธ๋๋ฐ Cross Cutting Concern https://www.codejava.net/frameworks/spring/understanding-spring-aop : ์ค๋ณต์ฝ๋๋ฅผ ์ผ์ผํ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ ํ๋จ์ผ๋ก ๊ฑธ์ณ์ ์ ์ฉํด์ผํ๋ ๋ถ๊ฐ๊ธฐ๋ฅ(Cross Cutting Concern)์ ๋ถ๋ฆฌํด์ ๋ฐฉ์ ํต์ฌ๋ก์ง์ ๋ถ๊ฐ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๊ฒํ๋ค. class ๊ณ์ข์ด์ฒด์๋น์ค { method ์ด์ฒด() { AAAA ๋น์ฆ๋์ค ๋ก์ง BBBB } method ๊ณ์ขํ์ธ() { AAAA ๋น์ฆ๋์ค ๋ก์ง BBBB } } class ๋์ถ์น์ธ์๋น์ค { method ์น์ธ() { AAAA ๋น์ฆ๋์ค ๋ก์ง BBBB } } ๋น์ง๋์ค ๋ฉ์๋๋ ๋น.. 2022. 11. 22. [TIL] 221110 - SpringBoot Part2 : Embedded DB, Named Parameter Template, ํธ๋์ญ์ SpringBoot Part2 (4) 1. Embedded DataBase ๊ธฐ์กด ํ ์คํธ : DB ๊ตฌ๋์ด ๋์ง์์ผ๋ฉด ํ ์คํธ์ ์คํจํ๋ ๊ตฌ์กฐ → ์ธ๋ถํ๊ฒฝ์ ์ํฅ์ ๋ฐ๋ ํ ์คํธ → ํ ์คํธ ์๋ํ(jenkins๊ฐ์ CI ํด์ ์ด์ฉํ) ๋ถ๊ฐ Spring์์ Embedded Database ์ ๊ณต Data Access Data Access The Data Access Object (DAO) support in Spring is aimed at making it easy to work with data access technologies (such as JDBC, Hibernate, or JPA) in a consistent way. This lets you switch between the aforementioned.. 2022. 11. 11. [TIL] 221109 - SpringBoot Part2 : Spring์ JDBC์ง์ SpringBoot Part2 (3) org.springframework.boot spring-boot-starter-jdbc DataSource connection์ ๋งค๋ฒ ์์ฑํ๊ณ closeํ๋ฉด ๊ทธ ๊ณผ์ ์์ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ๋น๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด connection pool ๊ฐ๋ ์ด ๋ฑ์ฅ. JDBC์์๋ driver maneger ์ธ์ dataSource๋ฅผ ์ด์ฉํด ์ปค๋ฅ์ ์ ๊ฐ์ ธ์ฌ ์ ์๊ณ , dataSource๊ฐ connection์ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๊ฐ๋๋ค. DataBase Connection Pool(DBCP) dataSource๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ป๊ฑฐ๋ ๋ฐ๋ฉํ ์ ์๋ค. close๋ฅผ ํ๋ฉด ์ค์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ์ ๋๋๊ฒ ์๋๋ผ ํ์ ๋ฐ๋ฉํ๋ ๊ฒ DBCP๋ฅผ ๊ตฌํํ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค. (si.. 2022. 11. 10. [TIL] 221108 - SpringBoot Part2 : JDBC SprintBoot part2 (2) JDBC ์์ํ๊ธฐ JDBC allows a java application to connect a relational database ํฌ๊ฒ ๋ ๋จ๊ณ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋๋ค. JDBC API JDBS DB Driver docker๋ฅผ ์ด์ฉํด mysql ์คํ IntelliJ ์ฐ๊ฒฐ maven dependency ์ถ๊ฐ JDBC CURD ์ค์ต 1. jdbc connection public class JdbcCustomerRepository { private static final Logger logger = LoggerFactory.getLogger(JdbcCustomerRepository.class); public static void main(String[] args) throws.. 2022. 11. 8. [TIL] 221107 - SpringBoot Part2 : Spring Test ์์ํ๊ธฐ SpringBoot Part2 - Spring Test ์์ํ๊ธฐ 1. ์ํํธ์จ์ด ํ ์คํ ์ํํธ์จ์ด์ ๊ฒฐํจ์ ์ฐพ๋ ๊ณผ์ https://martinfowler.com/bliki/TestPyramid.html Testing Level Unit tests Integration tests Component tests End-to-end tests 2. ๋จ์ ํ ์คํธ ๊ฐ์ฅ ์์ ๋จ์์ ํ ์คํธ : ๋ณดํธ์ ์ผ๋ก ํ๋์ class์ ํ๋์ ๋จ์ํ ์คํธ๋ฅผ ์์ฑํ๋ค. : ๊ณ ๋ฆฝํด์ ํ ์คํธ ํ๋ค. : ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ์๋ ๊ธฐ์กด ๊ธฐ๋ฅ๋ค์ด ๋จ์ํ ์คํธ์ ์ํด ์ ์๋ํ๋์ง ํ์ธํ ์ ์๋ค. : ํ ์คํธ ์ฝ๋(ํ ์คํธ ์ผ์ด์ค) ์์ฒด๊ฐ ๊ธฐ๋ฅ ๋ช ์ธ์๊ฐ ๋ ์ ์๋ค. : Spring ํ๊ฒฝ์์๋ ์ ๊ณต์ด ๋๋ ํ๋์ class์ ๊ธฐ๋ฅ์ ์ง์คํ ํ ์ค.. 2022. 11. 8. [TIL] 221104 - SpringBoot Part1 : logging, SpringBoot SpringBoot Part1 (5) logging ๋ก๊น ์ด๋ ? : ๋ก๊ทธ ์์คํ ์ ์ฌ์ฉ์ ๊ด๊ณ๋ ์ผ๋ จ์ ์ฌ๊ฑด์ ์๊ฐ์ ๊ฒฝ๊ณผ์ ๋ฐ๋ผ ๊ธฐ๋กํ๋ ๊ฒ์ด๋ค. Java Logging Framework java.util.logging → ๊ธฐ๋ฅ์ด ๋ถ์กฑํด์ ์ ์์ฌ์ฉํ๋ค. Apache Commons logging Log4J Logback → ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋จ. Log4J ์ฑ๋ฅ ํฅ์ ๋ฒ์ . springboot๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํจ SLF4J(Simple Logging Facade for Java) ! println์ ๋ด๋ถ์ synchronized๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๋ค. → ์ด์ํ ๋ ์ฐ๋ฉด ์๋๋ค. SLF4J Logging Framework๋ค์ ์ถ์ํํด ๋์ ๊ฒ์ ๋๋ค. Facade ํจํด์ ์ด์ฉํ ํ.. 2022. 11. 6. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 ยทยทยท 12 ๋ค์