[Spring] 스프링 빈 설정의 진화: XML에서 자바, 그리고 컴포넌트 기반으로
·
Spring 기초/Spring 설정
스프링에서는 빈 등록 과정이 어떻게 발전되어 왔을까?📌 서론Spring Framework에서의 빈(bean) 설정 방식은 시간이 지나면서 점차 발전해 왔다.초기에는 XML 기반 설정이 주로 사용되었으나, 자바 기반 설정이 도입되면서 설정 관리가 더욱 간편해졌다.이후, 컴포넌트 기반 설정이 등장하면서 빈 관리의 자동화와 모듈화가 크게 개선되었다. 이번 글에서는 이러한 빈 설정 방식의 발전 과정을 예시와 함께 단계별로 알아보자. 참고로 저는 구버전의 springFramework로 개발할 일이 있었는데 xml로 빈 등록하는 과정은 생각보다 복잡했습니다. ㅠㅠ 그래서 이렇게 발전된 것이 너무나도 감사합니다. 1. XML 기반 설정초기 스프링의 빈 설정 방식Spring Framework의 초기 버전에서는 애플..
Gradle: Implementation과 RuntimeOnly의 차이점 및 활용 방법
·
Spring 기초/Spring 설정
SpringBoot 프로젝트의 build.gradle 파일에서 'implementation'과 'runtimeOnly' 설정의 차이점과 사용법을 알아보자 📌 서론 Gradle의 빌드 스크립트인 build.gradle에서 의존성을 관리할 때 runtimeOnly와 implementation은 자주 사용되는 구성이야. 각각의 키워드가 어떤 목적으로 사용되는지, 그리고 차이점은 무엇인지 알아보자. 글의 이해를 위해 가장 먼저 스프링의 "모듈"을 알아보자 1. 스프링 부트의 모듈 이해하기 1-1. 메인 모듈 (Main Module) 애플리케이션의 핵심 기능을 담당한다. 주요 비즈니스 로직, 데이터베이스 연결, 웹 컨트롤러 등을 포함한다. 프로젝트의 src 폴더 내에 위치한 Java 패키지들, applicatio..
[Spring] Gradle 이해하기
·
Spring 기초/Spring 설정
Gradle 작동 원리: Groovy와 Kotlin을 통한 의존성 관리 📌 서론 Gradle에서 Groovy나 Kotlin을 사용해 의존성을 관리하는 방식을 이해하려면, 먼저 Gradle이 어떻게 작동하는지, 그리고 이들 언어가 Java와 어떻게 상호작용하는지를 알아야 한다. 1. Gradle의 작동 원리 1-1. Gradle의 JVM 기반 및 호환성 Gradle은 Java 가상 머신(JVM) 위에서 실행되어, Java와 호환되는 다양한 언어들을 지원한다. 예를 들어, Scala나 Groovy와 같은 언어들도 Gradle에서 사용할 수 있다. 이 JVM 기반의 특성 덕분에 Gradle은 Windows, macOS, Linux 등 다양한 운영 체제에서도 똑같이 잘 작동한다. 이러한 플랫폼 독립성은 개발자들..
[Spring] yml vs properties 설정파일 비교
·
Spring 기초/Spring 설정
application.yml VS application.properties 이 두가지를 비교해 보자 📌 서론 Spring Boot 프로젝트에서 가장 중요한 부분 중 하나는 설정 파일이다. 처음 프로젝트를 만들면 application.properties가 있는데 대부분은 이 파일을 application.yml로 변경해서 사용한다. 이 설정 파일들에 대해서 알아보자 1. application.properties 1-1. 형식 Key-Value 쌍으로 구성된, properties 파일이다. 각 설정은 새로운 라인에 위치하고, = 기호를 사용해 키와 값을 구분한다. 1-2. 특징 단순성: 구조가 매우 간단해서 작고 단순한 애플리케이션에 적합하다. 평면 구조: 계층적 구조를 지원하지 않아 복잡한 구성을 표현하기 ..
[Spring] Maven이란?
·
Spring 기초/Spring 설정
Maven이 뭘까? 지금부터 알아보자 📌 서론 이전 회사에서 작업을 할 때 SpringFramework3.x.x 버전을 사용하고 Maven을 사용했던 기억이 있다. 이때 첫 프로젝트를 하면서 요즘에는 다 Gradle을 사용하는 추세로 넘어온 것 같은데 Maven을 사용해서 신기했었던 경험이 있다.(신입이었어서 그랬던 것도 있지만 프로젝트 자체가 10년이 넘었다.) 이렇게 퇴사를 하고 잊고 있다가 갑자기 요즘 Gradle을 사용해서 프로젝트의 빌드를 수행하다가 Build.gradle 파일 안에서 의존성을 추가할 MavenBom이라는 코드가 보여서 갑자기 든 생각이 Maven은 왜 만들어졌을까?라는 의문에 정리를 시작했다. 1. Maven 소개 Maven이란 무엇인가? Maven은 Apache Softwar..
Spring Boot: Gradle 버전 확인하기
·
Spring 기초/Spring 설정
Spring Boot: Gradle 버전 확인하기 📌 서론 이번 포스트에서는 특정 API나 Jenkins를 사용할때 Spring과 그 tool의 Gradle 버전을 맞춰주기 위해 필요한 Spring Boot 프로젝트의 gradle 버전 확인하는 방법을 소개한다. 1. IntelliJ에서 프로젝트 내부 파일 검색하기 인텔리제이 기준으로는 shift + shift (shift두번 빠르게 클릭)으로 파일명을 검색하는게 가장 빠르다. 이 파일을 검색해 보자 : gradle-wrapper.properties 2. 파일 경로 확인하기 gradle-wrapper.properties 파일로 들어간 후 아래의 이미지와 같이 intelliJ 좌측 상단을 보면 동그라미가 겹쳐진 모양이 있는데 이걸 클릭한다. 동그라미를 클릭..
Spring 환경설정: Xml과 @Configuration의 차이점
·
Spring 기초/Spring 설정
이번 포스팅에서는 스프링에서 환경설정을 위해 사용하는 xml작성방식과 @Configuration 방식에 대해 알아보자 1. Xml을 사용한 Spring 환경설정 xml을 사용한 환경설정 Spring Framework는 SpringBoot가 나오기 이전부터 사용되어 온 대표적인 Java 기반의 엔터프라이즈 애플리케이션 개발 프레임워크이다. 전통적인 Spring Framework에서는 설정을 위해 XML 파일을 주로 사용했다. 이 XML 파일에는 Bean의 정의, 의존성 정보, 각종 설정 등이 포함되어 있었다. 작성예시 위의 예시에서 beans 태그는 루트 엘리먼트이고 내부의 bean 태그는 Spring에서 관리하는 객체인 빈(bean)을 정의하는 것이다. bean 태그 안의 id는 빈의 식별자이며, cla..
Spring Boot: Tomcat 환경변수 설정
·
Spring 기초/Spring 설정
SpringBoot에서 Tomcat에 환경변수를 설정해 보자 📌 서론 스프링부트를 사용하다 보면 application.properties나 application.yml에 환경변수(api키, db연결정보)를 적은 채로 github에 그대로 push 해서 코드를 노출하는 경우가 있는데 이것은 너무나도 보안적으로 위험하기 때문에 이것을 로컬환경에서 tomcat configuration으로 구성하는 방법에 대해 설명하도록 하겠다. 1. 스프링부트3에서 내장 Tomcat에 환경변수를 설정하는 방법 application.yml 확인 우리는 개발할때 application.properties 또는 application.yaml 파일에 스프링부트의 설정을 하게 되는데 이때 이 파일을 그대로 github에 올리면 우리의 ..