일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- @AspectJ
- JdbcTemplate
- 마이바티스
- STS
- java spring
- unix
- Dependency Injection
- POJO
- Ubunt
- spring aop
- @Spring-Test
- 프로퍼티
- @JUnit
- @test
- AOP
- SpringJDBC
- myBatis
- Spring JDBC
- XML
- 컨테이너
- spring framework
- JDBC TEMPLATE
- Framework
- Linux
- pointcut
- java
- spring
- 리눅스
- Spring Boot
- Di
- Today
- Total
목록2025/01/04 (11)
개키우는개발자 : )
스프링 개발 환경 셋업 요약1. 스프링 개발 시작첫 단계: 스프링 애플리케이션 개발을 위한 환경 구성.개발에 필요한 도구 및 설정 준비가 중요.2. 강의에서 사용하는 스프링 버전강의 기준: Spring 6.0.12 및 Spring Boot 3.1.4.이후 스프링 버전이 업데이트되더라도 강의 예제와 큰 차이는 없음.예제가 호환되지 않을 경우, 강의에서 사용한 버전과 비슷한 환경 사용 권장.3. 개발 환경 설정주요 도구JDK: Java Development Kit.IDE: IntelliJ IDEA.HTTPie: API 테스트 및 개발용 도구 (선택 사항).JDK 설치 방법옵션 1: IntelliJ 내부 설치IntelliJ의 내장 기능으로 JDK 설치 및 관리 가능.IDE에서 다운로드 메뉴를 통해 원하는 JD..
1. 강의 소개강사: 토비 이일민"토비의 스프링" 저자.스프링 기술 및 원리 이해를 코드 중심으로 설명.2. 강의 목적스프링의 공통 원리 탐구:스프링 프레임워크의 다양한 기술에 적용된 원리를 소개.이를 코드로 구현하여 이해를 돕는 방식.애플리케이션 코드에 응용:배운 스프링 원리를 실제 애플리케이션 코드에 어떻게 적용할지 설명.3. 배경 및 맥락스프링과 책의 역사:2010년: "토비의 스프링" 초판 출간.2011년: "토비의 스프링 3.1" 출간.이후 스프링 4, 5를 거쳐 최신 버전 6.1까지 진화.개정판 미출간 이유:스프링의 핵심 원리는 변하지 않았음.기존 스타일이 여전히 유효하다고 판단.4. 최근 강의 준비의 이유기존 예제의 한계:기존 예제는 구식 스타일로, 현업과 다소 괴리 발생.최신 기술과 맞지 ..
스프링 부트 강의 요약 및 결론1. 스프링 부트의 정의와 목적정의:스프링 부트는 스프링 프레임워크의 확장 도구로, 다양한 기술 환경에서 스프링을 더 쉽게 활용할 수 있도록 지원하는 도구의 모음.목적:번거로운 작업 자동화(예: 서블릿 컨테이너 설정).자동 구성으로 개발 생산성을 극대화.베스트 프랙티스를 바탕으로 기본값 제공 및 설정 옵션 지원.2. 스프링 부트의 주요 기능자동 구성(Auto Configuration):다양한 인프라 빈을 기본값으로 자동 등록.필요 시 프로퍼티 설정 및 커스텀 빈 등록으로 확장 가능.스프링 프레임워크 기반:스프링 부트를 잘 활용하려면 스프링 프레임워크의 기본 개념(예: 빈, 의존성 주입, 생명주기 관리)을 숙지해야 함.구성 정보 작성 방식:XML을 지양하고 Java 기반 구성..
스프링 부트 JDBC 템플릿 자동 구성 분석스프링 부트 JDBC 템플릿 스타터는 데이터 소스와 관련된 자동 구성 요소를 통해 데이터베이스와 상호 작용하는 과정을 단순화합니다. 이번 분석에서는 JDBC 템플릿과 관련된 자동 구성 빈과 그 동작 방식을 살펴봅니다.1. JDBC 템플릿 스타터 추가 효과자동 구성 빈 증가:JDBC 스타터 추가 전: 기본 13개.JDBC 스타터 추가 후: 약 32개.약 19개의 자동 구성 빈이 추가됨.2. 주요 자동 구성 클래스1) PersistenceExceptionTranslationAutoConfiguration역할:데이터 접근 예외를 추상화하여 예외 번역 기능을 제공.조건:spring.dao.exceptionTranslation.enabled 프로퍼티가 true이거나 설정..
스프링 부트 웹 모듈의 자동 구성 분석스프링 부트의 웹 모듈(Spring Web)을 추가하면, 기본적인 웹 애플리케이션을 구현하기 위해 필요한 다양한 빈과 설정이 자동으로 구성됩니다. 이 과정에서는 웹 애플리케이션의 구성과 작동 방식에 필요한 주요 자동 구성 요소를 살펴봅니다.1. 자동 구성 추가로 인한 변화자동 구성 빈 개수 증가:웹 모듈 추가 전: 약 13개 (JMX 제외).웹 모듈 추가 후: 약 62개.약 50개의 자동 구성 빈이 추가됨.2. 주요 자동 구성 클래스1) HTTP 메시지 컨버터 (HttpMessageConvertersAutoConfiguration)역할:JSON, XML, Text 등 다양한 형식의 데이터를 HTTP 요청과 응답의 본문으로 변환.주요 컨버터:StringHttpMessa..
스프링 부트 코어 자동 구성 분석스프링 부트의 코어 자동 구성은 다양한 애플리케이션의 기본 동작을 지원하며, 기본적으로 설정된 값과 조건에 따라 빈이 등록됩니다. 이번에는 스프링 부트 코어 모듈의 주요 자동 구성 항목을 살펴보겠습니다.1. AOP Auto Configuration조건: spring.aop.auto 프로퍼티가 true이거나 설정되지 않았을 때(matchIfMissing=true).동작 원리:AOP 관련 빈을 등록하여 스프링의 AOP 기능을 활성화합니다.AspectJ 라이브러리가 없을 경우 클래스 기반의 프록시 방식으로 기본 설정.특징:matchIfMissing으로 인해 기본적으로 활성화.spring.aop.auto=false를 설정하여 비활성화 가능.빈 등록 결과:AOP 관련 빈 팩토리 포..
스프링 부트 자동 구성 활용 방법스프링 부트의 자동 구성은 개발자가 최소한의 설정만으로 애플리케이션을 빠르게 구성하고 실행할 수 있도록 돕는 핵심적인 기능입니다. 이 과정에서 자동으로 생성되는 빈과 설정이 무엇인지 확인하고, 이를 효과적으로 활용하는 방법을 소개합니다.1. 자동 구성 상태 확인1.1 로그 기반 확인디버그 옵션 활성화: JVM 아규먼트에 -Ddebug를 추가하거나, 스프링 부트 설정 파일(application.properties)에 debug=true를 추가하면, 자동 구성과 관련된 상세 로그를 확인할 수 있습니다.매칭된 자동 구성 클래스와 조건을 통과하지 못한 이유까지 보여줍니다.로그 해석:Condition Evaluation Report: 자동 구성 조건을 평가한 결과를 보여줍니다.Po..
스프링 부트 자동 구성 확인 및 활용 방법스프링 부트는 자동 구성 기능을 통해 개발자가 최소한의 설정으로 필요한 빈을 사용할 수 있도록 도와줍니다. 이번 강의에서는 자동 구성의 적용 상태 확인과 활용 전략을 다루며, 이를 통해 개발자가 스프링 부트를 효과적으로 탐구하고 사용할 수 있도록 돕습니다.1. 자동 구성 상태 확인(1) 로그를 통해 확인하기스프링 부트 실행 시 JVM 또는 프로그램 아규먼트로 debug 옵션 추가:JVM 아규먼트: -Ddebug프로그램 아규먼트: --debug로그에 자동 구성 후보와 선택된 구성, 제외된 구성의 이유를 출력.등록된 빈: 조건을 만족한 이유 제공.제외된 빈: 클래스가 없거나 프로퍼티 설정이 없어서 제외된 이유 표시.한계점: 출력되는 정보가 방대해 이해와 분석이 어려울..
요약 및 핵심 개념이 강의는 스프링 부트를 제대로 활용하기 위해 자동 구성과 관련된 동작 원리를 이해하는 과정을 다룹니다. 스프링 부트의 자동 구성 빈, 기술 선택, 설정 방식을 탐구하며, 개발자가 어떻게 이 기능을 활용하고 확장할 수 있는지에 대해 논의합니다.핵심 내용1. 스프링 부트를 시작하는 첫 단계: 기술 선택기술 스택 결정:사용할 언어: Java 또는 Kotlin.웹 기술: Servlet 기반 vs. Reactive 기반.데이터 액세스 방식: SQL 또는 NoSQL.보안, 캐싱, 클라우드 통합 등도 고려.관련 선택지들이 수십 가지에 달함.Spring Initializer:Spring Initializer를 사용해 프로젝트 템플릿 생성.Gradle 또는 Maven 설정 파일(build.gradle..
요약 및 핵심 개념이 문서는 직접 작성했던 스프링 부트 코드와 스프링 부트의 자동 구성 기능이 실제로 동일하게 동작하는지 검증하는 과정을 설명합니다. 또한, 스프링 부트의 테스트 프레임워크를 활용해 자동 구성 및 테스트 코드를 간소화하고, 자동 구성의 원리를 이해하는 데 중점을 둡니다.핵심 내용1. 직접 작성한 코드와 스프링 부트 자동 구성 비교자동 구성 코드 삭제:이전에 작성한 모든 수동 구성 코드(데이터 소스, JDBC 템플릿, 서블릿 컨테이너 등)를 삭제.스프링 부트의 기본 자동 구성을 통해 동일한 기능을 구현 가능 여부 확인.스프링 부트의 동작 방식 확인:@SpringBootApplication에 포함된 @EnableAutoConfiguration 및 @ComponentScan 애노테이션을 통해 ..
요약 및 핵심 개념이 문서는 이전에 작성한 Hello Repository를 활용하여 Hello Service를 구현하고, 서비스 기능을 검증하는 테스트를 작성하는 과정을 다룹니다. 또한, 서비스 계층에서 API 레벨까지 확장하여 데이터베이스 액세스 기능과 자동 구성된 스프링 부트의 동작을 확인합니다.핵심 내용1. Hello Service 구현기능 추가:HelloRepository를 주입받아 인사를 기록하는 기능(increaseCount)을 추가.관리자가 이름별로 몇 번 인사했는지 확인할 수 있도록 설계.의존성 주입:HelloRepository를 생성자를 통해 주입.서비스 클래스가 리포지토리에 의존하는 구조를 설계.2. 테스트 설계 및 개선단위 테스트:단순한 단위 테스트로 HelloService의 기본 동..