본문 바로가기

전체 글69

5-2. 회원 기능 구현 (Service) 이제, 핵심 비즈니스 로직에 해당하는 UserService를 구현해 보자. 필요한 기능과 고려해야 할 예외사항은 다음과 같이 예상했다. UserService 먼저, UserService를 생성해 준다. UserService는 UserDAO가 제공하는 메서드를 호출해야 하기 때문에 UserDAO 에게 의존성을 가지고 있어야 한다. @Autowired를 사용해 의존성을 추가해준다. //... @Autowired UserDAO userDAO //... Model 이전에 자형에게 프로젝트 구조를 설명 들을 때 각 계층마다 모델을 따로 두는 것이 일반적이라고 설명을 들었다. 미처 그 이유까지 설명을 듣지는 못했으나, 그대로 구현을 해 보며 어떤 이점이 있는지를 찾아보고자 한다. 각 계층마다 모두 다른 모델을 사용.. 2023. 9. 24.
5-1. 회원 기본 기능 구현 (Repository) 가장 먼저 회원 정보를 DB에 저장해 두고, 회원 정보를 생성/조회/수정/삭제 하는 기능을 구현해 보자. API 구성 대략적인 API 구성은 다음과 같이 계획했다. 회원 생성 기능은 입력 폼으로 데이터를 입력 받아서 Model로 전달 해 줄 것이기 때문에 path variable은 필요하지 않다. 회원 데이터는 일단 간단하게 이름과 아이디, 비밀번호 정도만 만들어 두자. Repository Model 가장 먼저, 앞으로 우리가 사용하게 될 유저 클래스를 만들어 주자. @Entity @Table(name = "USERS") @Getter @Setter @NoArgsConstructor public class User { @Id @GeneratedValue @Column(name = "IDX") privat.. 2023. 9. 22.
4. NGINX 사용 이번엔 서버 배포를 위해 NGINX를 사용해 보자. NGINX를 사용하면 WAS와 Web Server를 분리할 수 있고, 여러 대의 WAS를 사용할 경우 로드밸런서의 역할을 해 주며, Reverse Proxy 기능도 사용할 수 있다. 그렇기 때문에 NGINX를 사용하는 서버와 실제로 SpringBoot를 배포하는 서버는 따로 분리해 둘 것이다. 1. NGINX 인스턴스 생성 인스턴스 생성은 여러번 진행중이니 크게 설명하지 않겠다. 키 페어와 보안그룹 모두 이번 프로젝트에서 사용하는 것과 동일한 것으로 사용했으며, ubuntu로 생성했다. NGINX 설치 및 실행 https://velog.io/@u-nij/Spring-Boot-Nginx-%EC%97%B0%EB%8F%99%ED%95%B4%EC%84%9C-%.. 2023. 9. 19.
3. 젠킨스 설치 및 빌드 자동화 원래는 리눅스 서버에서 젠킨스를 사용하려 하였으나, 젠킨스의 설치가 끝난 이후 gitHub의 프로젝트를 빌드하려 할 때 마다 EC2 인스턴스의 동작이 멈추었다. 조금 더 찾아보니, 프리티어로 만들어 둔 EC2 인스턴스의 메모리가 충분히 크지 못해 생기는 문제였다. SWAP을 통해 문제를 해결할 수도 있었으나, 이후의 과정들은 리눅스 환경 역시 젠킨스 관리 툴로 진행되기 때문에 윈도우 환경과 크게 다를 바가 없다는 생각이 들었다. 그런 이유로, 젠킨스는 윈도우에서 설치 후, 빌드된 실행 파일을 바로 배포용 서버에 전달해 주는 식으로 진행 해 보고자 한다. 젠킨스 설치 https://yeonyeon.tistory.com/56 [Jenkins] Jenkins 개념부터 설치, 연동까지 회사 스터디로 Jenkin.. 2023. 9. 17.
2. 배포 서버 환경 구축 이제 우리는 실제 서버에서 우리의 프로젝트를 배포할 것이다. 먼저, gitHub에 Repository를 생성 후, 서버를 구축한다. 1. gitHub Repository 생성 gitHub에서 repository를 생성한다. 다음으로, 우리가 이전에 만들었던 프로젝트 폴더를 탐색기로 열자. 폴더에서 마우스 우클릭 > 추가 옵션 표시 > Git Bash Here를 선택한다. 이후, 다음 명령어를 순서대로 입력하자. git init . git config --global user.name "gitHub 계정 이름" git config --global user.email "gitHub 계정 이메일" 순서대로 1 - 폴더를 git이 관리하도록 초기화 시켜준다. 2,3 - gitHub 계정 정보를 설정한다. 의 역.. 2023. 9. 17.
1. 프로젝트 생성 스프링 프로젝트 생성 https://start.spring.io/ 위 링크에서 프로젝트를 생성하였다. 빌드 툴은 gradle, 버전은 2.7.15 버전을 선택하였다. Jar 패키징을 사용하며 자바 11버전을 선택하였다. 의존성은 다음의 4가지를 추가하였다. 프로젝트를 생성 후 압축을 풀어 프로젝트를 열어보자. DataSource 설정 프로젝트를 실행해 보면 에러가 나는 것을 볼 수 있다. 에러 메시지를 조금 더 살펴보자. //... Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. //... 우리가 JPA 사용을 위해 의존성을 .. 2023. 9. 6.