본문 바로가기

웹 프로그래밍/스프링부트7

스프링 데이터 JPA 연동 오늘 포스팅은 스프링부트와 스프링 데이터 JPA를 연동하는 방법에 대해 살펴보겠습니다. 살펴보기 전에 간단히 ORM(Object-Relational Mapping)과 JPA(Java Persistence API)에 대해서 설명하자면 ORM은 객체와 릴레이션을 맵핑할 때 발생하는 개념적 불일치를 해결하는 프레임워크입니다. 쉽게 말해서 자바의 클래스의 멤버들을 데이터베이스의 컬럼과 맵핑을 시켜주는 역할을 합니다. 스프링부트 프로젝트를 만든 후 mysql과 h2 jpa의존성을 추가합니다. H2는 인메모리DB로 테스트에 이용하기 위해 scope을 test로 지정합니다. 실제 저장할 DB는 Mysql로 저장할 예정입니다. application.properties에서 DataSource에 대한 설정을 합니다. DT.. 2019. 10. 28.
SpringBoot에서 Mysql 설정 스프링부트가 지원하는 DBCP 기능과 MySql을 설정하는 방법을 살펴보겠습니다. DBCP란 DataBase Connection Pool의 약자로 DB에서 Connection을 만드는 과정이 상당히 많은 작업이 이뤄지는 작업이기 때문에 커넥션을 미리 만들어놓고 필요한 애플리케이션이 사용하고 반납하는 형식으로 DB와 커넥션을 맺고 있는 객체를 관리하는 역할을 합니다. 또한 이 DBCP가 애플리케이션의 성능 아주 지대한 영향을 끼치기 때문에 신중히 DBCP를 선택해야 합니다. 스프링부트는 기본적으로 HikariCP라는 DBCP를 사용합니다. DBCP설정은 application.properties에서 합니다. 위에 설정은 커넥션 풀의 개수를 5개로 바꾸는 설정입니다. 이제 MySQL설정을 해보겠습니다. MyS.. 2019. 10. 26.
1. 스프링 데이터(인메모리 데이터베이스) H2 인메모리 데이터베이스란? 우리가 평소에 사용하는 Mysql이나 Oracle과 같은 DBMS를 사용할 때 데이터는 디스크에 저장됩니다. 인메모리 데이터베이스는 디스크가 아닌 메인 메모리에 모든 데이터를 보유하고 있는 데이터베이스로 디스크에서 검색하는 것보다 자료 접근이 훨씬 빠른 것이 가장 큰 장점입니다. 단점이라면 역시 메모리에 저장되기때문에 휘발성이라는 점입니다. 이런 인메모리 데이터베이스를 SpringBoot에서 설정하는 방법을 다뤄보겠습니다. 먼저 IntelliJ에서 SpringInitioalizer로 SpringBoot 프로젝트를 만들어 보겠습니다. 만약 IntelliJ가 Community 버전이라면 https://start.spring.io/ 여기로 들어가셔서 프로젝트를 만드시고 인텔리 제이로 .. 2019. 10. 24.
03. 스프링 부트 프로젝트 구조 스프링 부트 프로젝트의 구조라고해서 다른건 아니고 일반 메이븐 자바 기본 프로젝트와 동일하다 main -> java -> 패키지 아래에 스프링부트를 실행하는 DemoApplication 메소드가 위치해 있고 com.joohyuk.demo패키지 아래에 클래스가 위치하게 된다. resources 폴더안에 클래스파일을 제외한 모든 자료들이 들어갈 수 있다. (ex. html, css, javascript와 같은 정적 자료들 같은 것들) resources가 classpath로 치면 root 이기 때문에 resources 아래에 있는 모든 것을 참조 할 수 있다. test는 말그대로 테스트 코드를 담는 부분이다. JUnit을 이용해 테스트를 하기위해 작성한 클래스들과 자료들이 있는 곳이다. @SpringBootA.. 2018. 12. 11.