본문 바로가기
spring

240925

by 뱅뱅뱅뱅뱅 2024. 9. 25.

spring 과 springBoot 의 차이점

Spring 과 Spring Boot 는 모두 스프링 프레임워크를 기반 자바 웹 개발 프레임워크

스프링은 웹 개발에 특화된 프레임워크가 아니라 자바 플랫폼을 위한 경량급 오픈 소스 애플리케이션 프레임워크입니다. 즉, 웹 개발뿐만 아니라 다양한 종류의 자바 애플리케이션 개발에 사용될 수 있음

프레임워크: 소프트웨어 개발에서 반복적으로 사용되는 기능들을 미리 구현해 놓은 틀

  • Spring
    • 스프링 프레임워크의 핵심 모듈을 모아서 만든 프레임워크
    • 개발자가 직접 설정 파일을 작성하여 스프링 컨테이너를 구성하고, 필요한 빈 객체를 등록하고, 빈 객체 간의 의존성을 설정
  • Spring Boot
    • 스프링 프레임워크를 보다 쉽게 사용할 수 있도록 만든 프레임워크
    • 개발자가 설정 파일을 작성할 필요 없이, 프로젝트의 설정과 라이브러리 의존성을 자동으로 처리해 주는 기능을 제공
    • Spring Boot는 실행 가능한 JAR 파일을 만들 수 있음
  • spring 특징
    • 의존 주입 지원 (Dependency Injection : DI)
    • AOP 지원 (Aspect-Oriented Programming)
    • MVC 웹 프레임워크 제공 (모델-뷰-컨트룰러)
    • JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원
  • ORM(Object-Relational Mapping)
    • Class 와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻
    • 애플리케이션의 객체를 RDB 테이블에 자동으로 영속화해주는 것

build.gradle

plugins {
    id 'java'                                                    자바 프로젝트의 기본 플러그인
    id 'org.springframework.boot' version '3.3.2'                스프링 부트 프로젝트를 위한 플러그인
    id 'io.spring.dependency-management' version '1.1.6'        스프링 부트 프로젝트의 의존성 관리 플러그인
}

group = 'com.sb3.sun'                                            프로젝트가 속한 그룹
version = '0.0.1-SNAPSHOT'                                        프로젝트의 버전

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    .
    .
    .
}

tasks.named('test') {
    useJUnitPlatform()
}
  • plugins {...}
    • 프로젝트를 빌드하고 관리하는 과정에 필요한 기능을 확장하는 역할
    • 마치 자동차에 엔진, 변속기, 휠 등 다양한 부품을 추가하여 자동차의 기능을 확장하는 것과 비슷하다.
  • java {...}
    • 자바 프로젝트를 빌드하는 데 필요한 다양한 설정을 담당하는 영역
    • 자바 컴파일러, 컴파일 옵션, 자바 버전 등을 설정
  • toolchain {...}
    • 자바 컴파일러(javac), 자바 실행 환경(JVM) 등 자바 개발에 필요한 도구들의 집합체라고 생각하면 된다.
    • languageVersion: 컴파일 시 사용할 자바 언어 버전을 설정 (프로젝트에서 사용할 자바 버전)
  • configurations {...}
    • 프로젝트의 의존성 관리를 위한 설정
  • compileOnly {...}
    • 컴파일 과정에서만 필요한 의존성을 관리
  • repositories {...}
    • 프로젝트에서 필요한 라이브러리나 의존성(dependencies)을 가져올 수 있는 저장소를 설정하는 영역
  • dependencies {...}
    • 프로젝트가 의존하는 라이브러리나 모듈을 정의하는 영역

@

  • @Configuration
    • 해당 클래스를 스프링 설정 클래스로 지정
  • @Bean
    • 한 개 객체를 생성하고 초기화하는 설정
    • 객체를 생성하고 Spring 컨테이너에 등록하는 역할
    • 생성된 객체는 Spring 컨테이너에 등록되어, 필요할 때마다 주입되어 사용될 수 있게 됩니다.

 

"redirect:"

새 URL로 클라이언트를 이동시키는 것

실제로 브라우저의 주소창에 새로운 URL이 표시되며 클라이언트가 새로운 주소로 이동

 

 

REST API는 AJAX를 통해 데이터를 주고받을 때 자주 쓰이는 방식

 

'spring' 카테고리의 다른 글

1105  (0) 2024.11.05
1101  (0) 2024.11.01
1031  (0) 2024.10.31
오라클 서버 만들기 2  (0) 2024.10.14
오라클 서버 만들기  (2) 2024.10.11