이번 포스팅에서는 간단한 springboot 프로젝트를 생성해보고 Mysql과 Git까지 연동해보겠다.
참고로 MacOS에서 IntelliJ Ultimate를 사용해 개발하였고 언어는 Java11, 빌드툴은 Gradle, 패키징방식은 Jar을 사용한다.
인텔리제이에서 Spring Initializr를 사용해 스프링부트 프로젝트를 생성한다
프로젝트명은 WithParentsDemo이고 ,
빌드툴은 Gradle,
언어는 자바, 자바버전은 11,
그룹은 성신여대 GDSC A조라 SSWU_GDSC_2022_A라고 했고,
패키징방식은 Jar을 사용할 것이다.
디펜던시로 Spring Boot Dev Tools, Lombok, Spring Web, MySQL Driver, Spring Data JPA를 추가한다
Spring Sequrity와 JJWT도 사용해야하지만 나중에 추가 가능하므로 기능이 어느정도 개발된 후에 추가할 것이다
프로젝트를 생성하고 오른쪽 위에 초록색 실행버튼으로 프로젝트를 실행해보자
오류가 뜬다... 데이터베이스가 연동되지 않았기 때문이다.
프로젝트와 데이터베이스를 연동하기 전에 우선 데이터베이스를 생성해야한다.
https://yooputer-devlog.tistory.com/131
[mac] mysql 데이터베이스 생성 | 관리자 생성 | 접근권한 부여 | 권한 확인
로컬 root 유저로 로그인 데이터베이스 생성 create database new default CHARACTER SET UTF8; 관리자 유저 생성 use mysql; create user ''@localhost identified by ''; @localhost로 설정하면 외부에서는 해당 유저로 접속 불
yooputer-devlog.tistory.com
나는 with_parents라는 데이터베이스와 wp_admin이라는 관리자를 생성했다.
프로젝트 > src > main > resources에 존재하는 application.properties에 데이터베이스에 대한 정보를 작성한다
url의 마지막에 데이터베이스명을 적고 username에는 관리자유저이름, password에는 관리자유저 비밀번호를 적는다
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/with_parents
spring.datasource.username=wp_admin
spring.datasource.password=wpadmin1102
spring.jpa.hibernate.ddl-auto=create
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
ddl-auto를 create로 설정하면 실행할 때마다 데이터베이스가 초기화된다.
개발 초기 단계에서만 create를 사용하며 테스트단계에서는 update를, 운영단계에서는 none이나 validate를 사용하는 것이 좋다.
위와같이 작성 후 다시 실행해보면 정상적으로 동작하는 것을 확인할 수 있다.
프로그램을 종료하기 전까지는 계속 실행된다.
인텔리제이를 통해 깃 레파지토리를 생성한다.
그럼 다음과 같이 오른쪽 위에 Git도구가 추가된 것을 확인할 수 있다
데이터베이스에 접근할 수 있는 유저와 비밀번호가 적힌 application.properties는 깃허브에 올라가면 큰일난다...
따라서 gitignore에 적어줘야 한다
커밋을하고 푸시를 누르면 다음과 같이 원격저장소를 연결할 수 있는 창이 뜬다
미리 만들어놓은 원격저장소 url을 입력한다
푸시를 하면
원격저장소에서 커밋을 확인할 수 있다
[WithParents] 예외처리 | custom exception | RestControllerAdvice | ExceptionHandler (0) | 2022.11.16 |
---|---|
[WithParents] UserController 생성 | member, family 생성 api 구현 (0) | 2022.11.09 |
[WithParents] Family, Member DTO 정의 | UserService 생성 (0) | 2022.11.09 |
[WithParents] family, member 엔티티 생성 | 레파지토리 생성 (3) | 2022.11.02 |
[WithParents] 프로젝트 개요 | 기능요구사항 | (0) | 2022.11.02 |