본문 바로가기

백/spring boot

스프링 부트 프로젝트 생성하기(Maven)

1. 스프링 부트 ?

 메이븐의 라이브러리 자동 업데이트 기능을 이어받으면서 기존 스프링 프레임워크의 복잡한 설정 과정은 최대한 줄이면서 개발할 수 있음

 배포 또는 테스트 역시 스프링 프레임워크보다 쉽고 빠르게 할 수 있음

특징?

 일반적인 응용 프로그램을 단독으로 실행하는 수준으로 스프링 애플리케이션을 구현할 수 있음

 프로젝트 환경을 구축할 때 필요한 톰캣 서버 툴이 내장 되어 있어 따로 설치할 필요가 없음

 XML 기반 설정이나 코드 없이 환경 설정을 자동화 할 수 있음

 의존성 관리를 쉽게 자동으로 할 수 있음

2. 스프링 부트 프로젝트 생성하기 

1.이니셜라이저 사용

2.sts에서 바로 스프링부트 프로젝트 만들기

2.sts에서 바로 스프링부트 프로젝트 만들기
처음엔 maven방식으로 만들어보기

jdk 8과는 보통 2.7.5버전 많이 사용

없는 건 검색해서 추가할 수 있음(available에)

스프링 부트 프로젝트 생성하기 (alt+shift+x, b) (regecy는 저기에 r이었음, 부트는 boot니까 b)

 application.properties

 server.port=8382

 spring.mvc.view.prefix=/WEB-INF/views/

 spring.mvc.view.suffix=.jsp

스프링 부트의 에러페이지

@Controller
public class ExamController {
 @RequestMapping("/")
 public String home() {
 System.out.println("hello boot");
 return "hello";
 }
}

 pom.xml
 <dependency>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-jasper</artifactId>
 <scope>provided</scope>
 </dependency>

내장 톰캣 사용 디펜던시 추가

 


이제 생성해보자

ctrl+ n  후 spring starter project 고르기

 

프로젝트 생성된거 선택 후 alt shift x + b 

=> 내장톰캣설정해주자

application.properties고고

 

다시 실행하면 오류 안듬

이제 Boot01Application 을 찾아가보시오

여기서 boot실행되는것

 

이 패키지에 ExamController하나 만들어주자

이제 컨트롤러에 @Sl4j달려면 롬복있어야하는데  없으니까 당연히 안뜸

프로젝트에 lombok 추가하지 말고 프로젝트 생성하는거 다시 연습할겸 새로 프로젝트 생성하자


boot_lombok_01로 이름 바꾸고, spring web, lombok 추가해서 만들자

그럼 pom.mxl가보면 

롬복 추가되어있음

다시 boot검색해서 applicattion 찾은다음 그 패키지에 ExamController생성

실행하면 오류뜸

application.properties가서 server.port=8382

legacy 와 다르게 크롬에서 직접 주소 쳐야함

http://localhost:8382/

그럼 500에러 뜰것

\

void 말고 String으로 바꿔서 hello란 뷰로 가게함

스프링 부트는 저장한다고 해서 자동 리프레시 되지 않음, stop하고 재실행

webapp 밑에 폴더 두개("/WEB-INF/views") 만들고 jsp추가

그래도 404뜸, 

경로 설정 안했기 때문.

server.port=8382
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

프로퍼티에 이렇게 추가하자.

근데 그래도 오류

2023-07-12 11:53:20.502  WARN 3100 --- [nio-8382-exec-1] o.s.w.s.r.ResourceHttpRequestHandler     : "Path with "WEB-INF" or "META-INF": ["/WEB-INF/views"hello".jsp"]"

로그에 이렇게 뜬다.

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<scope>provided</scope>
		</dependency>

pom.xml에 이거 추가해줌

해당 종속성은 Apache Tomcat의 임베디드 Jasper 기능을 사용하고자 할 때 필요합니다. Jasper는 JSP(JavaServer Pages) 파일을 컴파일하고 실행하는 데 사용되는 Apache Tomcat의 JSP 엔진입니다.

그럼 드디어 뜬다