목록JAVA (30)
It won't hurt to try
밑의 블로그를 참고했다. yml파일을 지정하는 방법으로 3가지를 기술하고 있다. https://blog.jiniworld.me/81#a03-1-3 [Spring Boot] 프로퍼티 파일(yml) 여러개 설정하기 웹 애플리케이션의 실행 환경에 따른 구성설정의 외부화를 위해 프로퍼티 파일을 사용했습니다. spring boot에는 예약된 프로퍼티 키가 존재하며, 예약된 프로퍼티에 설정을 추가하는 것 만으로도 blog.jiniworld.me
보호되어 있는 글입니다.
보호되어 있는 글입니다.

스프링 입문 수업에서 밑의 순서대로 구현을 진행하고 있다. memoryMemberRepository -> Jdbc -> JdbcTemplate -> JPA JPA를 마지막에 다룬 이유는 뭘까? JdbcTemplate를 사용했을때 Jdbc를 편리하게 사용할 수 있어서 좋았지만, sql을 구현해야 하기 때문에 귀찮은 점이 있었다. sql도 인터페이스에서 자동으로 생성해준다면 생산성이 더 오를텐데 이 점이 아쉬웠다. JPA는 sql을 자동으로 생성해주고 디비에 접근해서 값을 들고와준다. 아주아주 편하다. JPA vs Mybatis ? 처음 사이드 프로젝트를 진행했을때 Mybatis를 사용했었다. 불편하지는 않았지만, Mybatis는 결국 sql을 작성해야 했다. xml형식으로,, 전세계적으로 JPA는 Myba..
jdbcTemplate를 설명하려면 이전에 익혔던 순수jdbc와의 비교가 필요하다. save @Override public Member save(Member member) { SimpleJdbcInsert jdbcInsert = new SimpleJdbcInsert(jdbcTemplate); jdbcInsert.withTableName("member").usingGeneratedKeyColumns("id"); Map parameters = new HashMap(); parameters.put("name", member.getName()); Number key = jdbcInsert.executeAndReturnKey(new MapSqlParameterSource(parameters)); member.se..

이제부터 스프링 통합 테스트를 진행한다. jdbc커넥션 정보는 스프링이 갖고 있기때문에 순수 자바 테스트는 불가능한 상태이다. 그래서 스프링 통합으로 테스트를 진행하려고 한다. 소스코드 설명 위의 두 소스를 비교한다. 두 소스는 디비와 연결하기 전과 후의 테스트소스의 모습이다. 어노테이션 @SpringBootTest 테스트클래스에 이 어노테이션을 사용하면, 스프링 부트 컨테이너에 있는 디비커넥션 정보등을 사용할수 있게된다. @Transactional 이 어노테이션에 테스트클래스에 있으면, 테스트마다 트랙잭션을 열고 끝나면 롤백한다. 디비에 데이터가 남지 않아서 유용하다. 테스트 테스트 전에 디비안의 데이터를 클리어시킨다.

application.properties에서 spring 데이터소스의 설정을 한다. spring.datasource.url : jdbc URL spring.datasource.driver-class-name : 접속하고자 하는 DB의 드라이버 build.gradle에 아래 내용을 추가해준다. jdbc, h2관련 라이브러리를 추가한다. implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' Datasource를 JdbcMemberRepository에 주입하려고한다. 위에서 application.properties를 통해서 spring.datasource에 대한 정보를 spring에게 주..

지금까지는 메모리를 통해서 회원정보를 저장했었다. 하지만 데이터의 휘발성때문에 메모리를 통한 저장이 아닌, 데이터베이스를 통해서 데이터를 관리하기로 했다. 그래서 일단 H2데이터베이스를 사용해서 관리해보려고 한다. 이번시간은 H2데이터베이스를 설치하는 시간이다. http://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console app..