본문 바로가기
728x90
반응형

스프링 Spring/스프링 입문24

[AOP] AOP 적용 AOP 적용 import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Aspect @Component public class TimeTraceAop { @Around("execution(* hello.hellospring..*(..))") // hello.hellospring 패키지 하위에 다 적용 public Object execute(ProceedingJoinPoint joinPoint) throws Throwable { long star.. 2022. 1. 27.
[AOP] AOP가 필요한 상황 AOP가 필요한 상황 import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; @Transa.. 2022. 1. 26.
[스프링 DB 접근 기술] 스프링 데이터 JPA 스프링 데이터 JPA src > main > java > hello.hellospring > repository public interface SpringDataJpaMemberRepository extends JpaRepository, MemberRepository { @Override Optional findByName(String name); } @Configuration public class SpringConfig { private final MemberRepository memberRepository; public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Bean p.. 2022. 1. 25.
[스프링 DB 접근 기술] JPA JPA build.gradle파일 dependencies에 아래 내용 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' application.properties에 아래 내용 추가 # 테이블은 이미 만들어져 있기 때문에 none으로 설정 # show-sql : JPA가 생성하는 SQL을 출력한다. # ddl-auto : JPA는 테이블을 자동으로 생성하는 기능을 제공하는데 none 를 사용하면 해당 기능을 끈다. # none이 아닌, create 를 사용하면 엔티티 정보를 바탕으로 테이블도 직접 생성해준다. spring.jpa.hibernate.ddl-auto=none spring.jpa.show-sql=true @Entit.. 2022. 1. 24.
[스프링 DB 접근 기술] 스프링 JdbcTemplate 스프링 JdbcTemplate public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; // @Autowired // 생성자가 하나일 경우 @Autowired 생략 가능 public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); } @Override public Member save(Member member) { // insert 문을 만들어 줌 SimpleJdbcInsert jdbcInsert = new SimpleJdbcInser.. 2022. 1. 23.
[스프링 DB 접근 기술] 스프링 통합 테스트 스프링 통합 테스트 @SpringBootTest @Transactional public class MemberServiceIntegrationTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test void 회원가입() { // given Member member = new Member(); member.setName("spring"); // when Long saveId = memberService.join(member); // then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName(.. 2022. 1. 22.
[스프링 DB 접근 기술] 순수 JDBC 순수 JDBC build.gradle 파일을 아래와 같이 수정 > 오른쪽 위 코끼리 마크 클릭 application.properties 파일을 아래와 같이 수정 spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url값은 JDBC URL 값이다. JdbcMemberRepository.java 생성 public class JdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public JdbcMemberRepository(DataSourc.. 2022. 1. 21.
[스프링 DB 접근 기술] H2 데이터베이스 설치 H2 데이터베이스 설치 https://www.h2database.com/html/download-archive.html 1) 1.4.200 download 2) h2-2019-10-14\h2\bin\h2.bat 실행 > 연결 클릭 > 왼쪽 위 버튼을 눌러 연결을 끊는다. 3) 홈에 test.mv.db 파일이 있는지 확인 4) .JDBC URL : jdbc:h2:tcp://localhost/~/test 로 수정 (안하면 웹 컨트롤과 같이 접근이 안될수 있다.) 참고) 연결이 잘 안되면 test.mv.db 파일을 지운뒤 다시 해본다. 5) 아래 SQL 실행 > 왼쪽에 MEMBER 생성 drop table if exists member CASCADE; create table member ( id bigint .. 2022. 1. 20.
728x90
반응형