💡 Framework란?
- 애플리케이션 개발 시 필요한 기본 구조와 뼈대를 제공하는 틀
- 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공함
💡 Libarary란?
- 자주 사용 되는 기능을 모아둔 코드의 집합
- 개발자 또는 회사에서 개발한 기능 (코드)를 라이브러리로 만들어서 배포
→ 해당 기능이 필요한 개발자가 라이브러리를 자신의 코드에 추가해서 사용
💡 API(Application Programming Interface)
- 서로 다른 소프트웨어 구성 요소 간의 상호 작용을 정의하는 규약
- API를 통해 서로 다른 프로그램들이 데이터를 주고받거나 기능을 호출하여 통신할 수 있음
💡 Spring Framework 란?
- 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 간단하게 스프링(Spring)이라고도 불림
- 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공함
- 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크(Spring MVC Project 기반 프레임워크)의 기반 기술로서 사용
→ boot 최근 사용률 높음 / 표준으로 인정

@Service 등의 어노테이션 사용하여 스트링 컨테이너가 만들어둔 객체 == bean : IOC
@Autowired 어노테이션 사용하여 bean 연결 : DI
DBCP(Data Base Connection Pool) : 커넥션 일정 수 만큼 만들어 놓고 필요할 때 마다 빌려줌 / 반납도 알아서
Spring Legacy


💡 Spring Boot란?
- Spring MVC Project 구성 시 필요했던 복잡한 환경 설정을 최소화 하여 개발자로 하여금 비즈니스 로직 구현에 집중할 수 있도하기 위해 개발됨
💡 Spring Boot의 장점
- 내장된 서버(Tomcat 등)를 제공해서 war 배포 없이 독립 실행이 가능한 웹애플리케이션을 개발할 수 있음
→ Spring MVC Project처럼 Tomcat 서버를 Start 하는 것이 아닌 Java Project 처럼 main 메서드가 작성된 class를 Run해서 실행
—> 자동으로 내장된 Tomcat 서버가 시작됨- 다양한 Starter POM 파일을 제공해서 Maven, Gradle 등의 빌드 도구 구성, 라이브러리 관리를 간소화
- Spring Starter를 이용해서 프로젝트를 생성 및 초기 설정을 간소화


jar 파일 형태 → 압축 풀기



롬복 넣고 파워쉘 java -jar lombok.jar → 실행파일 인스톨

https://start.spring.io
해당 URL을 통해 프로젝트 설정을 하는 개념
💡 각 항목별 설명
- Service URL : 데모 프로젝트를 다운 받을 서비스 경로
(Spring 공식 페이지의 initiolizr를 통해 설정된 내용대로 데모 프로젝트를 생성해서 받아옴)- Name : 프로젝트 이름
- Type : 빌드 도구(Maven 또는 Gradle)
- Packaging : 배포 시 압축 형태
- Java Version : 프로젝트에서 사용할 자바 버전
- Language : 프로젝트에서 사용할 언어 종류
- Group : 사용할 그룹(배포시 도메인, 보통 회사명을 작성, 대분류의 개념)
- Artifact : 만들어진 산출물이름(프로젝트명, 소분류의 개념)
- Version : 프로젝트 버전
- Description : 프로젝트 설명
- package : 프로젝트 기본 패키지 3레벨 (Group + Artifact로 작성)

스프링은 응답페이지 만들 때 JSP 사용 X → Thymeleaf 사용

✅ templates : java 템플릿(응답화면)을 모아두는 폴더(.html확장자: thymeleaf)
✅ static : 기존의 wepapp이라고 보면 됨. CSS, JS 등 저장하는 경로
✅ application.properties : 프로젝트 전반적 설정

HTTP 기본 Port : 80
아직 메인페이지 미구성으로 에러 페이지가 나오나 잘 접속 된 것임

8080 입력 시 페이지 없음




