일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- NCP
- Backbone.js
- laravel
- Redux
- php
- phpredis
- Machine Learning
- nginx
- Node
- mariadb
- For
- 블레이드 템플릿
- Redis
- SQL
- React
- webpack
- CentOS
- docker
- Switch
- Go
- fastapi
- 기초 수학
- rabbitmq
- Babel
- nodejs
- javascript
- AWS
- deep learning
- python
- linux
- Today
- Total
개발일기
Spring Boot 초기설정 본문
스프링 부트 프로젝트를 생성하면 위의 사진처럼 프로젝트가 생성된 것을 확인할 수 있습니다.
src/main/java에는 코드를 입력할 class파일들이 위치합니다.
src/main/resources에는 마이바티스를 통한 xml파일들, 스프링부트의 포트번호, DB연결 등 설정에 관한 코드들이 들어있는 application.properties로 구성되어져있습니다.
src에는 jsp와 js, css, img 등이 들어있으며, pom.xml에는 Maven Repository를 통해 jar파일을 불러올 수 있습니다.
정리 :
기본 적으로 스프링 MVC 프로젝트를 진행했을 때와 마찬가지로 구조적으로는 크게 달라지는 것은 없습니다. Spring boot는 라이브러리 추가를 위해 pom.xml을 사용하는 것은 동일하지만, servlet-context.xml과 web.xml은 다루지않습니다.
스프링 부트 설정을 위한 application.properties가 존재합니다. (프로젝트의 DTO기능도 담당하는 것과 동시에 WAS, MyBatis, Port, Path 등의 설정코드를 포함하고 있습니다.
또한, 프로젝트를 처음 생성시 src하위에는 MVC프로젝트 때 처럼 webapp, WEB-INF가 기본적으로 만들어져 있지 않기 때문에 기존 스프링 프레임워크 환경에 있는 폴더를 생성해줘야 합니다.
MVC프로젝트의 HomeController처럼 기본적으로 생성되는 클래스파일입니다.
스프링 부트는 내장톰캣을 지원하기에 다른 WAS없이 자바 어플리케이션을 실행하듯이 실행하면 서버가 구동됩니다. 이러한 기능을 run메서드가 담당하고 있습니다. 첫 번째 인자는 해당 클래스의 이름으로 설정해야 합니다.
그리고 main 메서드에서 실행이 되야합니다.
@Configuration, @EnableAutoConfiguration, @ComponentScan 가 합쳐진
@SpringBootApplication을 정의해줘야합니다.
-->그냥 기본적으로 생성되는 클래스니까 딱히 건들이 필요없고 그냥 작업하면됩니다.
JSP페이지를 로딩하게 해주기 위해서는 Pom.xml에 설정파일들을 추가해야합니다.
스프링 부트는 jsp페이지 로딩하는 기능을 제공하지 않기 때문에 따로 pom.xml에서 설정해줘야 합니다.
그렇기에 이러한 라이브러리를 pom.xml에 추가해주면 됩니다.
(여기서 핵심은 2번째 dependency – 이거 없으면 jsp페이지가 로딩되지 않습니다!!!)
# DataSource는 오라클에서 생성된 DB와 연결하는 요소입니다. 사용자에 따라 username과 password를 바꾼 후 연결하면 됩니다.
# Port는 말 그대로 포트번호를 지정해준 것 입니다. 오라클 포트와 충돌을 방지하기 위해 8085번 포트로 설정하였습니다. 포트번호에 따라 시작 url에 바뀌게 됩니다. 포트번호가 8085이기 때문에 localhost:8085가 시작 url입니다.
# JSP Path는 Controller단에서 jsp파일을 리턴할 때, 앞에 붙을 /WEB-INF/views/와 뒤에 붙을 .jsp를 미리 선언하여 생략하게 해주는 역할을 합니다. jsp파일 경로가 /Web-INF/views/jsp파일.jsp에 존재하기에 불필요한 부분은 properties를 통해 따로 빼놓아 좀 더 코딩을 간결하게 만들어 줍니다.
# MyBatis는 VO라는 private 변수들의 모음을 xml매핑을 통해 선언할 때, 간소화하게 해줍니다.
xml매핑을 통해 DB에 있는 값들을 가져올 때, resultType = com.example.start.vo.BoardVO 식으로 선언하지만, 이를 통해서는 resultType = BoardVO만 입력하면 됩니다. 위와 마찬가지로 불필요한 부분은 미리 선언해주어 코드를 간소화시켜줍니다.
# Xml Location은 DB와의 연결을 하는 xml매핑 파일들이 존재하는 경로입니다. /**/*.xml의 뜻은 /**/은 우선 폴더명이 어느것든 상관없다는 뜻이고 그 후에 나오는 *.xml은 파일이름이 상관없다는 뜻입니다.
즉, 1번 폴더에 2번 파일 3번 폴더에 4번 파일이든 mappers 폴더에 들어있는 폴더와 파일은 상관없이 이 xml 설정을 통해 불러올 수 있습니다.
'프로그래밍 언어 > Spring' 카테고리의 다른 글
Spring Boot 프로젝트 생성 (0) | 2020.12.07 |
---|---|
Spring Boot 설치 및 설정 (0) | 2020.12.05 |