java spring boot

boot 구조 및 메인화면 실행

풀스택 개발자 2022. 9. 21. 19:33

처음 start 프로젝트가 생성되면 controller 패키지 없이 boot1Application 클래스만 존재한다.

Application 클래스는 결과적으로 boot를 구동하는 역활을 수행한다.

 

구체적으로 하는 일을 나열해보자면 다음과 같다.

  • @SpringBootConfiguration -> 현재 클래스가 Spring의 설정 파일임을 알려주는 어노테이션
  • @ComponentScan -> 다른 컴포넌트, 서비스, 설정 등을 찾을 수 있게 도와주는 어노테이션 -> 즉 자바 클래스를  스프링   빈이라고 표시하고 스프링의 component-scanning 기술을 통해 ApplicationContext에 빈으로 등록하게 하는 역할
  • @EnableAutoConfiguration -> Spring boot 클래스패스 세팅 및 다양한 Bean 추가 등을 시켜주는 어노테이션

request 요청을 받기 위해 controller 패키지를 생성하고 하위에 HomeController 를 생성한다.

그리고 요청 로직을 구현한다.

package com.hylok.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
	
	@GetMapping("/")
	public String main() {
		return "pages/index";
	}

}

 

레거시 프로젝트와 달리 boot에서는 jsp파일을 열지않고 html 파일을 열게된다.

열리게 될 html 파일은 src/main/resources/templates 하단에 생성시켜주면 된다.

 

나는 pages 라는 폴더를 하나 생성하고 해당 폴더 하위에 index.html 파일을 생성시켜주었다.

 

이제 프로젝트를 실행시켜줄거다.

프로젝트 오른쪽 마우스를 클릭하고 run as - spring boot app 를 클릭하면 프로젝트가 구동되고 웹브라우저에 localhost:8080를 입력하면 해당 페이지가 열리게 된다.

 

* js,css 와 같은 파일은 src/main/resources/static 폴더에 넣어주면 된다.