본문 바로가기

Today I Learned

스프링부트 프로젝트 생성하기 / 실행 error 해결하기

스프링 프로젝트는 다음과 같이 생성하였다.

  • 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