반응형 스프링 부트8 스프링 부트 자동 구성 스프링 부트의 자동 구성 스프링 부트는 자동 구성(Auto Configuration)이라는 기능을 제공해서, DataSource, TransactionManger과 같은 일반적으로 자주 사용하는 수많은 빈들을 자동으로 등록해준다. 자동 구성 덕분에 개발자는 반복적이고 복잡한 빈 등록과 설정을 최소화 하고 애플리케이션 개발을 빠르게 시작할 수 있다. 스프링 부트는 spring-boot-autoconfigure라는 프로젝트 안에서 수 많은 자동 구성을 제공한다. @AutoConfiguration: 자동 구성을 사용하려면 이 애노테이션을 등록해야 한다. 이 애노테이션을 살펴보면 메타 애노테이션으로 @Configuration을 가지고 있으므로 빈을 등록하는 자바 설정 파일로 사용할 수 있다. after의 의미는.. 개발/Spring Boot 2023. 3. 4. 서블릿 컨테이너, 내장 톰캣과 스프링 부트 먼저 JAR와 WAR에 대해 알아보자. JAR Java Archive의 줄임말이다. 자바의 클래스 파일과 여러 리소스를 묶어서 만든 압축 파일이다. 이 파일은 JVM위에서 실행되거나 또는 다른 곳에서 사용하는 라이브러리로 제공된다. 직접 실행하는 경우 main() 메서드가 필요하고, MANIFEST.MF 파일에 실행할 메인 메서드가 있는 클래스를 지정해야 한다. WAR Web Application Archive의 줄임말이다. WAR 파일은 WAS에 배포할 때 사용하는 파일이다. 웹 애플리케이션 서버 위에서 동작한다. HTML같은 정적 리소스와 클래스 파일을 모두 포함하므로 JAR보다 구조가 복잡하다. 과거와 현재의 WAS 사용 방식 과거에는 스프링으로 웹 애플리케이션을 개발할 때는 먼저 서버에 톰캣과 같.. 개발/Spring Boot 2023. 3. 3. 외부설정과 프로필 외부 설정 개발 환경과 운영 환경에서 서로 다른 설정 값을 사용해야할 수 있다. 예를 들어 개발 환경과 운영 환경에 따른 데이터베이스 url, username, password 등이 있다. 이 문제를 해결하는 가장 단순한 방법은 각각의 환경에 애플리케이션을 빌드하는 것이다. 그럼 개발app.jar, 운영app.jar가 만들어진다. 해당 파일들을 각 환경별로 배포하면 된다. 하지만 이런 방법은 환경에 따라 빌드를 여러 번하고 개발 버전과 운영 버전의 빌드 결과물이 다르므로 좋은 방법이 아니다. 그러므로 보통 빌드는 한번만 하고 각 환경에 맞추어 실행 시점에 외부 설정 값을 주입한다. 이렇게 하면 빌드도 한번만 하면 되고, 개발 버전과 운영 버전의 빌드 결과물이 같기 때문에 개발환경에서 검증되면 운영 환경에.. 개발/Spring Boot 2023. 3. 2. 우아한 스프링 부트 공부 기록 스프링 부트 스프링 부트는 스프링을 쉽게 제공하기 위해 제공되는 툴이다. 참고로 스프링이란 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크다. 스프링 부트가 제공하는 3가지 큰 영역 빌드 : 프로젝트 생성, 의존성 관리, 애플리케이션 패키징 및 실행 코딩 : 개발 툴 제공, 자동 설정, 외부 설정 배포 및 관리 : 도커 이미지 생성, Actuator, 스프링 부트 어드민 빌드 프로젝트 생성 https://start.spring.io/ 여기에서 스프링 프로젝트를 만든다. 들어가면 다음과 좌측면에 같은 화면이 나온다. 스냅샷(SNAPSHOT)은 개발 중인 버전. 가급적이면 사용하지 말자. M(Milestone) 버전 배포는 했지만 바뀔 수 있는 버전. 공부하지 않는 이상 사용하.. 개발/Spring Boot 2022. 7. 30. 스프링 빈 후처리기 본 게시글은 인프런 김영한 선생님 강의 스프링 고급편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3%A0%EA%B8%89%ED%8E%B8/dashboard 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 스프링 빈 후처리기 필자는 이전에 스프링 기초를 학습하면서 스프링 컨테이너에 빈이 등록될 때 순수한 빈 인스턴스가 아니라, CGL.. 개발/Spring Core 2022. 7. 8. Spring Interceptor 경로에서 Swagger 경로 제거 시 발생 오류 UMC 동아리에서 앱을 만드는 팀 프로젝트를 진행 중인데 한 가지 오류가 발생했다. 바로 JWT를 사용해서 로그인을 진행할 때 스프링 인터셉터를 사용 중인데 스웨거 경로를 exclude하자 오류가 발생했다. 파파고로 내용을 해석하면 아래와 같았다. "기본 URL을 유추할 수 없습니다. 이는 동적 서블릿 등록을 사용하거나 API가 API 게이트웨이 뒤에 있을 때 흔히 발생합니다. 기본 URL은 모든 스웨거 리소스가 제공되는 루트입니다. 예를 들어 http://example.org/api/v2/api-docs에서 api를 사용할 수 있는 경우 기본 URL은 http://example.org/api/입니다. 위치를 수동으로 입력하십시오." 처음 파파고를 돌려보고 '뭔 소리지..?'라는 생각이 들었다. 기존에 .. 개발/Spring MVC 2022. 7. 8. 트랜잭션 문제 해결 본 게시글은 인프런 김영한 선생님 강의 스프링 DB 1편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 아직까지 존재하는 문제점 웹 애플리케이션은 크게 3가지 구조로 나뉜다. 프레젠테이션 계층 UI 관련 로직 담당, 형식적 검증, 사용자 요청을 담당,.. 개발/Spring DB 2022. 6. 16. 스프링 MVC - 서블릿 학습 본 게시글은 인프런 김영한 선생님 강의 스프링 MVC 1편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. (2022.08.06 수정) - 복습을 하면서, 기억할 부분 추가 및 코드 부분 삭제. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/ 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편.. 개발/Spring MVC 2022. 1. 8. 이전 1 다음 반응형