spring.io 에서 인텔리제이 커뮤니티버전에서는 부트 프로젝트 생성 지원안되서 이 사이트에서 만든 후 압축을 푼 후에 인텔리제이에서 열어야 함. (gradle 이용함)
srping boot devtools = 백엔드 쪽. 자동 리로드 실행해줌
lombok = 생성자, 게터 , 세터 생성 등 편리함 지원
spring web = (필수) spring mvc
+ 타임리프, mybatis, mysql 추가함.!!
** 프로젝트 만든 후에 추가한 이유?
mysql dependencies가 처음에 실행될때 db를 찾아가게 되어있는데 db 가 정의되어있지 않으면 오류가 발생하기 때문에 처음에 application.yml에 db 접속정보를 기입해두어야 함
=> 되도록이면 mybatis, mysql은 후에 추가!!
파일열기
파일>새로만들기>기존소스에 있는 프로젝트
build.gradle찾아서 열기
*생성자 주입 방식
@RequiredArgsConstructor
의존성주입을 하는 방식 중 하나로 생성자를 통해 객체를 주입하는 방식이다
여기서는 lombok의 @RequiredArgsConstructor 사용했고 final이 붙은 필드만 포함하는 생성자를 자동으로 생성해준다.
[application.yml] mysql 연결 + mybatis 설정
appilcation.properties -> application.yml 로 이름 변경
# server port
server:
port: 8080
# database
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_codingrecipe?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
username: user_codingrecipe
password: 1234
# mybatis
mybatis:
mapper-locations: classpath:mapper/*.xml
config-location: classpath:mybatis-config.xml
* url, username, password는 자신의 mysql 계정 적어주기
[mybatis-config.xml] 파일 생성 후 기본 내용 복사하기
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.backminjoo.board.dto.BoardDTO" alias="board"></typeAlias>
<!-- <typeAlias type="com.codingrecipe.board.dto.BoardFileDTO" alias="boardFile"></typeAlias>-->
</typeAliases>
</configuration>
[board-mapper.xml] 파일 생성 후 기본 내용 복사하기
* namespace는 반드시 채워져있어야되는 상태여야함.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Board">
</mapper>
폴더 구조 확인