목차 - https://okane-on-cliff.tistory.com/227
개발환경으로는 STS를 사용했다. STS는 검색하여 적당히 다운 받으면 되는 일이다.
1. 프로젝트 생성
2. application.properties
3. pom.xml
4. mybatis 맵퍼 파일
5. 데이터베이스에서 만든 테이블 구조에 맞는 Dto 클래스를 작성한다.
6. Controller를 작성한다.
1. 프로젝트 생성
새 프로젝트를 만들어 준다. Spring Starter Project를 선택하고
Maven으로 프로젝트를 생성한다.
왜 인지 모르겠는 점은 Spring Boot Version은 3.0.0이 되면 오류가 난다. 다운그레이드 해야 한다. 그리고 의존성도 할 수 있는건 여기서 추가해 준다.
2. application.properties
먼저 appllication.properties를 수정한다. application.properties의 경로는 src/main/resources 이다.
server.servlet.context-path=/board
server.port=9999
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/board
spring.datasource.username=아이디
spring.datasource.password=비번
mybatis.mapper-locations=classpath:mappers/**/*.xml
3. pom.xml
딱히 건드릴게 없다.
4. mybatis 맵퍼 파일
application.properties에서 기술한
mybatis.mapper-locations=classpath:mappers/**/*.xml
라는 경로안에 맵퍼 파일을 만들어 준다.
맵퍼 파일은 마이바티의 독타입에 맞게 헤더를 작성해 준다.
BoardMapper.xml의 내용
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.app.board.BoardMapper">
</mapper>
<mapper>의 namespace의 경로와 파일이름에 맞게 인터페이스를 생성해준다.
맵퍼파일은 @Mapper어노테이션을 작성해 스프링에게 맵퍼파일임을 알려준다.
package com.app.board;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BoardMapper {
}
5. 데이터베이스에서 만든 테이블 구조에 맞는 Dto 클래스를 작성한다.
package com.app.board;
public class BoardDto {
int num;
String title;
String content;
public BoardDto() {
super();
}
public BoardDto(int num, String title, String content) {
super();
this.num = num;
this.title = title;
this.content = content;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
롬복은 사용하지 않았다. 다음 프로젝트에선 꼭 사용해 볼 것이다.
6. Controller를 작성한다.
RestAPI로 만들 것이기 때문에 @RestController라고 작성한다. 또한 개발시에 CORS오류가 나지 않도록 @CrossOrigin을 붙힌다. 마지막으로 mapper와 Autowired 해준다.
여기서 CrossOrigin은 다음부턴 특정 URL만 허용하도록 하는 법을 알아 봐야겠다
package com.app.board;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RestController;
@RestController
@CrossOrigin
public class BoardController {
@Autowired
BoardMapper mapper;
}
이제 spring을 만들기 위한 준비는 끝났다. src/main/resources/statics에 index.html을 만들어 스프링 부트를 실행시켜보면 application.properties에 기술한 port번호와 context-path에 맞는 주소를 브라우저에 입력해 서버가 돌아가는지 확인 할 수 있다.
스프링 부트의 설정은 여기까지다