아키텍처 : 건축물의 청사진, 조감도. 대략적인 컨셉
시스템 아키텍처 : 하드웨어, 소프트웨어 포함한 시스템의 전체적인 구성
소프트 아키텍처 : Java 플랫폼 아키텍처

애플리케이션 아키텍처 : 계층형 (N-티어) 등 존재

API 계층 : 클라이언트의 요청 받아들이는 계층
서비스 계층 : API의 요청을 도메인의 요구 사항에 맞게 처리하는 계층 (비지니스 계층)
(도메인 : 업무 영역)
[Spring Framework 모듈 구성]

모듈 : 여러가지 기능을 목적에 맞게 그룹화하여 묶어 놓은 것 (Java의 패키지-클래스묶음- 단위로 묶여있음). 라이브러리 형태로 제공(재사용 가능)
참고 사이트 https://docs.spring.io/spring-framework/docs/5.0.0.M5/spring-framework-reference/html/overview.html
[Spring Boot]
사용시 Spring 설정 간결해짐
[사용해야 하는 이유]
기반의 복잡한 설계 방식 지양
의존 라이브러리의 자동 관리 : starter 모듈 사용
애플리케이션 설정의 자동 구성
프로덕션급 애플리케이션의 손쉬운 빌드
내장된 WAS를 통한 손쉬운 배포
dependencies { // 의존 라이브러리 자동 관리
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'com.h2database:h2'
}
애플리케이션 설정의 자동 구성
implementation 'org.springframework.boot:spring-boot-starter-web’
// 웹 애플리케이션이라 추측. 서블릿컨테이너 (디폴트 : Tomcat) 설정을 자동으로 구성
implementation 'org.springframework.boot:spring-boot-starter-jdbc’
// 데이터베이스 연결이 필요하다고 추축. JDBC 설정을 자동으로 구성
@SpringBootApplication // 애너테이션을 Spring애플리케이션 코드에 추가해주면 자동 구성 설정 활성화
public class SampleApplication {
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}
프로덕션급 애플리케이션의 손쉬운 빌드
WAR 파일 형태로 WAS(Web Application Server)에 올릴 필요 없음
build - bootJar 명령 더블클릭 - jar파일 생성 (즉시 실행 가능한 애플리케이션 실행 파일)
WAS : 구현된 코드를 빌드해서 나온 결과물을 실제 웹 애플리케이션으로 실행해주는 서버
내장된 WAS를 통한 손쉬운 배포 : 별도의 WAS 구축할 필요 없음.( jar 파일 이용해서 java -jar jar파일명.jar 명령어 추가해주면 웹 애플리케이션 실행 가능)
한줄 정리 : Spring 구성은 Spring에 맡기고 비지니스 로직에만 집중하자!!