스프링 프로젝트는 다음과 같이 생성하였다.
- Spring boot developer tools는 프로젝트에서 파일이 변경될 때 자동으로 재시작해준다.
- Lombok은 getter, setter, 생성자를 자동 생성해준다.
- Spring data JPA는 데이터베이스를 위한 것으로, JPA를 통해 데이터베이스를 만들 것이다.
- 데이터베이스는 MySQL을 사용할 것이다.
- Spring security는 보안과 관련된 라이브러리이다.
- Spring web은 어노테이션을 위해 사용한다. 톰켓이 기본적으로 내장되어 있다.
스프링은 IOC(제어의 역전)으로 내가 아닌 스프링이 컴포넌트 스캔을 하고 메모리에 로드하여 객체를 new하기 때문에,
스프링이 스캔을 할 때 이미 정의된 이름이 아닌 다른 이름인 패키지의 경우 스캔을 할 수 없다.
따라서 우리가 애초에 만든 패키지 이하로 패키지를 만들어야 한다.
ex) com.seo.blog 패키지라면 com.seo.blog.test ...와 같은 이름으로 패키지를 추가로 만들어야 함
MySQL 등록 및 스프링과 연결 + 한글설정하기
데이터베이스 사용을 위해 스프링과 mysql을 연결하는 작업을 한다.
우선 mysql의 workbench에 root를 추가하고 아래와 같이 작성한다.
GRANT ALL PRIVILEGES ON *.* TO = 해당 유저에게 모든 권한을 준다.
한글설정을 위해 my.ini 파일을 편집한다.
보기 > 숨긴항목 > my.ini 파일 > 편집
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
init_connect='SET collation_connection = utf8_general_ci'
character-set-server=utf8
스프링과 mysql을 연결한다.
스프링 실행 에러
1)
스프링으로 blog 클래스를 만들고 아래와 같이 코드를 작성하였다.
@RestController
public class BlogControllerTest {
//http://localhost:8232/test/hello
@GetMapping("/test/hello")
public String hello() {
return "<h1>hello sping boot</h1>";
}
}
실행하는 도중
error starting applicationcontext. to display the conditions report re-run your application with 'debug' enabled.
에러가 발생하였다.
해당 에러는 Run configurations에서 설정을 변경하여 해결 가능하다.
run configurations에 Enable debug output 체크
2)
위의 에러를 해결하자 이번에는
[ restartedmain] o.s.b.d.loggingfailureanalysisreporter 에러 발생,
구글링 해보니 application.properties에 문장을 추가해줘야 한다고 한다.
application.properties에 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 문장을 추가하여 문제를 해결하였다.
'Today I Learned' 카테고리의 다른 글
File Class - write/read (0) | 2022.10.29 |
---|---|
HTTP 1.1) http통신, stateless, mime 타입 (0) | 2022.01.13 |
oauth의 동작원리 (0) | 2022.01.09 |
awt 라이브러리 (0) | 2022.01.08 |
라이브러리와 프레임워크 (0) | 2021.12.21 |