목록인프런/스프링 입문 (김영한) (25)
오늘이라도
https://github.com/upcake/hello-spring 강의 링크 * 오늘의 단축키 & 기능 1. AOP 적용 - AOP : Aspect Oriented Programming - 공통 관심 사항 (cross-cutting concern) vs 핵심 관리 사항 (core concern) 분리 - 시간 측정 AOP 등록 //AOP로 사용할 때 붙는 어노테이션 @Aspect //component-scan으로 사용해도 되나 config에 등록해서 사용하는 것을 더 선호한다 @Component public class TimeTraceAop { //실행 대상 등록 : 모든 패키지에 적용한다 //* 패키지명..밑에있는거클래스명등등에게(파라미터타입) @Around("execution(* com.upcak..
https://github.com/upcake/hello-spring 강의 링크 * 오늘의 단축키 & 기능 1. AOP가 필요한 상황 - 모든 메소드의 호출 시간을 측정하고 싶다면? - 공통 관심 사항 (cross-cutting concern) vs 핵심 관심 사항 (core concern) - 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 1) MemberService 회원 조회 시간 측정 추가 public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member...
https://github.com/upcake/hello-spring 강의 링크 * 오늘의 단축키 & 기능 1. 스프링 데이터 JPA - SpringDataJpaMemberRepository.java //인터페이스 - 인터페이스의 경우에는 extend 사용하여 상속 //인터페이스는 다중 상속이 된다. public interface SpringDataJpaMemberRepository extends JpaRepository, MemberRepository { //findBy~~~ ~~~에 따라서 쿼리를 짜준다 //select m from Member m where m.name = ? @Override Optional findByName(String name); //외에도 findByNameAnd~~~ //..
https://github.com/upcake/hello-spring 강의 링크 * 오늘의 단축키 & 기능 - inline variable : Ctrl + Alt + n @Override public List findAll() { List result = em.createQuery("select m from Member m", Member.class).getResultList(); return result; } @Override public List findAll() { return em.createQuery("select m from Member m", Member.class).getResultList(); } 1. JPA - JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들..
https://github.com/upcake/hello-spring 강의 링크 * 오늘의 단축키 & 기능 1. 스프링 JdbcTemplate - 순수 Jdbc와 동일한 환경설정을 하면 된다. - 스프링 JdbcTemplate과 MyBatis 같ㅇ느 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. - JdbcTemplateMemberRepository.java public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; //생성자가 딱 하나일 경우 자동으로 스프링 빈으로 등록되며, @Autowired를 생략할..
https://github.com/upcake/hello-spring 강의 링크 * 오늘의 단축키 & 기능 1. 스프링 통합 테스트 - 스프링 컨테이너와 DB까지 연결한 통합 테스트를 진행해보자. @SpringBootTest @Transactional class MemberServiceIntegrationTest { //테스트 케이스는 그냥 제일 편한 것을 사용하는것이 좋다. @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test void 회원가입() { //테스트 메소드는 한글로 만들어도 된다, 빌드 시 테스트 코드는 포함되지 않음 //given : 무언가가 주어졌는데, Member member..