08_Spring_240401(월)_55일차(0) - 기본 정의, 설정, 개발 환경 설정

soowagger·2024년 4월 1일

8_Spring

목록 보기
1/38

1 . Spring Framework 관련 기본 정의

💡 Framework란?

  • 애플리케이션 개발 시 필요한 기본 구조와 뼈대를 제공하는 틀
  • 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공함

💡 Libarary란?

  • 자주 사용 되는 기능을 모아둔 코드의 집합
  • 개발자 또는 회사에서 개발한 기능 (코드)를 라이브러리로 만들어서 배포
    → 해당 기능이 필요한 개발자가 라이브러리를 자신의 코드에 추가해서 사용

💡 API(Application Programming Interface)

  • 서로 다른 소프트웨어 구성 요소 간의 상호 작용을 정의하는 규약
  • API를 통해 서로 다른 프로그램들이 데이터를 주고받거나 기능을 호출하여 통신할 수 있음

💡 Spring Framework 란?

  • 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 간단하게 스프링(Spring)이라고도 불림
  • 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공함
  • 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크(Spring MVC Project 기반 프레임워크)의 기반 기술로서 사용
    → boot 최근 사용률 높음 / 표준으로 인정

Spring Framework의 주요 특징

@Service 등의 어노테이션 사용하여 스트링 컨테이너가 만들어둔 객체 == bean : IOC

@Autowired 어노테이션 사용하여 bean 연결 : DI

DBCP(Data Base Connection Pool) : 커넥션 일정 수 만큼 만들어 놓고 필요할 때 마다 빌려줌 / 반납도 알아서

Spring Legacy

2. Spring IOC/DI

3. Spring Boot

💡 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를 이용해서 프로젝트를 생성 및 초기 설정을 간소화

4. 개발 환경 설정

jar 파일 형태 → 압축 풀기

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

기본 Preferences 설정 후 프로젝트 생성해보기

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 입력 시 페이지 없음


application.properties

build.gradle

templates > index.html

profile

0개의 댓글