일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 스프링 부트
- mybatis
- thymeleaf
- kafka
- 싱글톤
- 스프링부트
- 스프링
- JPA
- Javascript
- DI
- Effective Java
- 스프링 빈
- DIP
- 생성자 주입
- assertThrows
- 스프링 프레임워크
- springboot
- assertThat
- java
- 스프링 부트 입문
- jdbc
- 스프링 컨테이너
- sqld
- SQL
- 스프링 부트 기본
- spring
- resultMap
- @Configuration
- 필드 주입
- db
- Today
- Total
목록Framework/Spring Boot (28)
선 조치 후 분석

AOP가 필요한 상황 + AOP (Aspect Oriented Programming)+ System.currentTimeMillis() AOP (Aspect Oriented Programming) - 관점 지향 프로그래밍 : 어떤 로직을 기준으로 핵심정인 관점, 부가적인 관점으로 나누어서 보고, 그 관점을 '기준'으로 각각 모듈화 하겠다는 것. 이론적으로만 공부하면 '멘붕'에 빠진다고하는 내용이라고 한다. '언제' '왜' 사용하는지만 알고 공부하는게 중요하다고 한다. AOP가 필요한 상황 1. 모든 메소드의 호출 시간을 측정하고 싶다면? 2. 공통 관심 사항(Cross-cutting concern) vs 핵심 관심 사항(Core concern) 3. 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? ..

스프링 데이터 JPA + JpaRepository 스프링 부트와 JPA만 사용해도 개발 생산성이 늘어나지만, 스프링 JPA까지 사용한다면 한계를 넘어설 수 있도록 도와준다고 한다. 스프링 부트와 JPA라는 기반 위에 스프링 데이터 JPA 프레임워크까지 사용한다면 개발이 너무나도 즐거워진다고 한다. 그리고 반복 개발하던 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다고 한다. 이제는 실무에서 관계형 데이터베이스를 사용한다면, 스프링 데이터 JPA는 이제 선택이 아니라 '필수'라고 한다. ※주의 : 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술이다. 따라서 JPA를 먼저 학습한 후에 스프링 데이터 JPA를 학습하는 것을 권장한다고 한다. 1. 스프링 데이터 JPA 리포지터리 생..

[Spring] Spring Boot - 입문(20) - JPA + EntityManager + ORM + JPQL + Refactoring JDBC -> JdbcTemplete로 넘어오면서 반복되는 코드들은 많이 줄어든 것을 저번 강의에서 배웠다. 하지만 아직도 문제?라고 보는건, 여전히 'SQL 쿼리'를 직접 짜야만 한다. 그래서 오늘은 이러한 '쿼리'를 자동으로 작성해주는 'JPA'에 대해서 알아보는 내용이다. JPA 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 전환할 수 있다. JPA를 사용하면 개발 생산성을 크게 높일 수 있다. JPA는 '인터페이스'이다. 그 밑에 구현체들 중에서 'h..

[Spring] Spring Boot - 입문(19) - JdbcTemplete 사용법 JdbcTemplete : MyBatis랑 비슷한 라이브러리 Jdbc APIT에서 반복적인 코드를 제거해준다. (중복을 제거) 하지만 SQL문은 직접 작성해야 한다. JdbcTemplete은 실무에서도 많이 쓰인다고 한다. ※ 여기서 'Templete'은 '디자인패턴' 중에서 'TempleteMethod'가 있는데 그 부분이 많이 들어가 있어서라고 한다. 1. build.gradle에 dependency 설정 필요 implementation 'org.springframework.boot:spring-boot-starter-jdbc' 2. JdbcTempleteMemberRepository 생성 + findById + ..
통합 테스트 기존에 배웠던 TEST 방식은 '순수 Java 코드'로 실행시켰다. 하지만 DB에 연결하면서 '순수 Java 코드'만으로는 TEST를 할 수가 없다. 그래서 이제는 Spring과 엮어서 TEST를 하는 방법을 배워보자. 1. TEST 코드 작성 package hello.hellospring.service; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest // 스프링이 테스트를 할 때 사용하는 것 @Transactional // 메모리를 리셋해주는 역할을 대신해주는 어노테이션 class MemberServiceIntergrationTest { @Autowired MemberService memberService; @Autow..

Jdbc 리포지토리 구현 DB에 INSERT, SELECT 쿼리를 날리는 방법을 배워보자. 대신에 오늘은 순수 JDBC 방법이라 머리가 많이 아프고 스트레스가 원초적인 방법이라고 한다. 편하게 다가가자!! 요즘엔 많이 발전했다!! 주의! 이렇게 JDBC API로 직접 코딩하는 것은 20년 전 이야기이다. 따라서 고대 개발자들이 이렇게 고생하고 살았구나 생각하고, 정신건강을 위해 참고만 하고 넘어가자. 1. 환경설정 - build.gradle파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' 기본적으로 JAVA가 DB와 연동되려면 JDBC 드라이버가 꼭 있어야 한다. runtimeO..