본문 바로가기

Spring_inflearn20

[Spring] inflearn 스프링 입문 - AOP AOP가 필요한 상황 1. 모든 메소드의 호출 시간을 측정하고 싶을 때 기존 방법 - 메소드마다 시작 끝 시간 측정 src/main/java/hello/hellospring/service/MemberService.java public Long join(Member member) { long start = System.currentTimeMillis(); try { // 같은 이름이 있는 중복 회원x validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish.. 2022. 9. 16.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 6 스프링 데이터 JPA 인터페이스만으로 개발 완료. 반복적으로 개발해온 CRUD 기능도 스프링 데이터 JPA가 제공. 코드 적을 게 없음. 그냥 쓰면 됨. 스프링부트 + JPA + 스프링 데이터 JPA 프레임워크. 관계형 데이터베이스 사용 시 스프링 데이터 JPA 필수 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 라이브러리. JPA 먼저 학습. 실제 운영시 문제들 해결할 수 없음 src/main/java/hello/hellospring/repository/SpringdataJpaMemberRepository.java SpringdataJpaMemberRepository 인터페이스 생성 인터페이스가 인터페이스를 받을 때는 extends JpaRepository T : Member ID: en.. 2022. 9. 15.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 5 JPA JDBC -> JdbcTemplate : 반복적인 코드 줄음. but sql 쿼리는 직접 작성해야 함. JPA 기술을 사용하면 sql 쿼리도 JPA가 자동으로 처리. 개발 생산성 높임. 객체를 JPA에 넣으면 JPA가 중간에서 DB에 sql을 날리고 데이터를 db에서 가져오는 것 처리. sql, 데이터 중심 설계에서 객체 중심 설계로 전환. build.gradle dependency 추가. jpa관련 라이브러리 추가. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' resources/application.properties JPA관련 설정 추가 jpa가 날리는 sql 볼 수 있음 spring.jpa.show-sql=tr.. 2022. 9. 15.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 4 스프링 JdbcTemplate MyBatis와 비슷한 라이브러리. JDBC API에서의 반복적인 코드를 제거한 라이브러리. sql은 직접 작성해야 함. JdbcTemplate을 써야 함. JdbcTemplate은 injection을 받을 수 있는 것은 아님. dataSource가 injection받음. 생성자가 딱 하나만 있으면 스프링 빈으로 등록되면 @Autowired 생략 가능 스프링이 자동으로 dataSource injection 해줌 src/main/java/hello/hellospring/repository/JdbcTemplateMemberRepository.java public class JdbcTemplateMemberRepository implements MemberRepository { .. 2022. 9. 15.