개발 무지렁이

[Spring Boot] 스프링부트 프로젝트의 구조와 컨트롤러 본문

Backend/스프링부트

[Spring Boot] 스프링부트 프로젝트의 구조와 컨트롤러

Gaejirang-e 2022. 11. 25. 11:08

스프링부트


❓프레임워크
-> 개발할 때, '자주 쓰이는 기능'을 '한꺼번에' 제공해 개발효율을 높여주는 '소프트웨어 환경'을 말한다



⭕ 쿠키 처리
⭕ 로그인 / 로그아웃 처리
⭕ 데이터베이스 처리
⭕ 보안 처리

이 모든 기능이 Java로 만들어져 한꺼번에 제공하는 소프트웨어 환경 중의 하나가 ' 스프링부트 ' 이다.
[ 톰캣서버(WAS) 내장 ]

스프링부트 프로젝트의 구조




  • src/main/java

    • 자바 파일(컨트롤러, 서비스, 레포지터리, 폼 및 DTO, 엔티티...)
  • <프로젝트명> + Application.java

    • 시작을 담당하는 파일
    • @SpringBootApplication // 스프링부트의 모든 설정을 관리
      public class <프로젝트명>+Application {
        public static void main(String[] args) {
            SpringApplication.run(<프로젝트명>+Application.class, args);
        }
      }
  • src/main/resources

    • static 디렉터리
      • HTML, CSS, Javascript 파일
      • 이미지 파일
    • templates 디렉터리
      • HTML 파일 형태로 자바 객체와 연동되는 파일
    • application.properties (환경파일)
      • 프로젝트 환경
      • 데이터베이스 설정
  • src/test/java

    • 테스트 코드 파일 (서버를 실행하지 않은 상태에서 코드를 테스트할 수 있다, JUnit 이용(테스팅 도구))
  • build.gradle

    • 프로젝트를 위해 필요한 플러그인 및 라이브러리
    • ❓라이브러리
      -> 개발할 때, 필요한 기능을 모아둔 저장소로서 필요할 때, 호출해서 사용한다.

URL 매핑을 위한 모듈, Controller


@Controller
public class HomeController {
    @RequestMapping("/home") // URL 매핑 담당
    @ResponseBody // URL 요청에 대한 응답으로 문자열 리턴
    public String index() {
        return "index";
    }
}
Comments