◉ IDE 특징
- IntelliJ : 스프링 이니셜라이저 이용(spring.io)해서 프로젝트 생성 후. import
- STS : 스프링 이니셜라이저 기능 내장되어 있음
- Apache Maven
소프트웨어 개발 프로세스를 간소화하는 소프트웨어 프로젝트 관리 툴이며, 개발 프로세스를 통합하는 기능 제공
◉ 스프링 이니셜라이저 활용해 maven project 생성
1. 프로젝트 만들기
• Packaging name = Group명.Artifact명
• JSP : War 사용 권장
타임리프 : Jar 사용 권장
• 의존성 추가 - Spring Web / Lombok / Spring Boot Dev Tools
• Generate - 압축파일 생성
• 압축파일 압축 푼 후, app/java 아래로 옮기기
2. 프로젝트 실행 - Maven 프로젝트 Import하는 방법
• File - Import - Maven 검색 - Existing Maven Projects
• Browse - 다운받은 폴더 경로 지정
이클립스가 프로젝트 폴더의 루트에서 pom.xml 파일을 찾아 Projects 섹션에 표시함
pom.xml : 프로젝트의 기본 정보가 들어있는 파일
• Finish - Package Explorer 창에서 확인 가능
• 실행 방식 동일 : Spring Boot App 클릭
▪︎ pom.xml 확인
- 따로 선택하지 않아도 테스트 의존성의 경우, 자동으로 포함됨
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
▪︎ 스프링 부트의 메인 클래스
- 애플리케이션의 실행은 main 메서드로 시작됨
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
- @SpringBootApplication 어노테이션의 경우, 다음과 같은 여러 어노테이션의 조합
어노테이션 | 설명 |
@EnableAutoConfiguration | 스프링 부트 자동 구성을 활성화함. 스프링부트는 의존성을 기반으로 자동으로 프로젝트를 구성함. |
@ComponentScan | 스프링 부트 컴포넌트 검색으로 애플리케이션의 모든 컴포넌트를 찾음. |
@Configuration | 빈(bean) 정의의 원본으로 쓸 수 있는 클래스를 정의함. |
▪︎ 로그와 문제 해결
- 스프링 부트 스타터 패키지에는 별도의 구성없이 로깅에 쓸 수 잇는 로그백이 있음
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
// * @Slf4j 어노테이션의 실제 구현의 예시
private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class);
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
logger.info("Application started");
}
}
- logger.info 메서드 : 로깅 메시지를 다음과 같이 콘솔창에 출력함 ( 프로젝트를 실행한 후 콘솔에서 확인 가능 )
- 기본 로깅 수준 : 별도로 지정하지 않는 이상, INFO
'백엔드 > Spring Boot' 카테고리의 다른 글
모던 웹 애플리케이션 개발 - 3. JPA를 이용한 데이터베이스 생성 및 접근 (2) (0) | 2023.08.22 |
---|---|
모던 웹 애플리케이션 개발 - 3. JPA를 이용한 데이터베이스 생성 및 접근 (1) (0) | 2023.08.21 |
6. 블로그 기획하고 API 만들기 흐름 요약 (0) | 2023.08.14 |
Maven Project를 Gradle Project로 변경하기 (0) | 2023.08.11 |
7. 블로그 화면 구성하기 (5) - 수정 / 생성 기능 추가 (0) | 2023.08.10 |