Spring(4)
-
스프링 빈 등록 & 의존관계 자동 설정
🐢 스프링 빈 등록 방법 2가지 1.컴포넌트 스캔 + 자동 의존관계 설정(@Componenet 계열)2.자바 코드로 직접 등록(@Configuration + @Bean) 🐢 1. 컴포넌트 스캔과 자동 의존관계 설정 @Component 달린 클래스 → 자동으로 스프링 빈 등록됨 🐢@Controller, @Service, @Repository 도 사실상 @Component 포함하고 있음 👉 그래서 컨트롤러/서비스/리포지토리 클래스 위에 어노테이션만 붙여도 스프링이 알아서 빈 등록함 ✔️자동 등록의 원리 스프링은 시작 시 @Component 달린 클래스 전부 스캔하위 패키지 전부 싹 뒤져서 빈으로 등록함등록된 빈은 기본적으로 싱글톤(하나만 생성)✔️스프링 빈으로 등록하면 좋은 이유? 스프링 컨테이..
2025.08.05 -
회원관리 예제로 배우는 스프링 기본기(테스트 코드, Optional, 람다 등등)
🐢 일반적인 웹 애플리케이션 계층 구조 Controller: 웹 요청 받고 응답 주는 창구 거북이 🐢📨Service: 비즈니스 로직 담당하는 두뇌 거북이 🐢🧠Repository (DAO): 데이터 저장/조회 담당하는 창고 거북이 🐢📦Domain (Entity): 회원, 주문 같은 핵심 객체 → 실제 데이터 거북이 🐢 👉 요청 → 컨트롤러 → 서비스 → 리포지토리 → DB 순서로 흐름 *위에 일반적인 웹 애플리케이션 계층 구조 🐢 Optional.ofNullable null 방지 거북이 🐢 값이 있으면 감싸서 Optional로 반환, 없으면 Optional.empty() 반환Optional 이런 식으로 많이 씀Optional member = Optional.ofNullable(rep..
2025.08.05 -
MVC 구조 완전 쉽게 + @ResponseBody까지
🐢 MVC?Model, View, Controller의 약자 역할 분리해서 개발 효율성과 유지보수성 높이는 패턴 안 그러면 코드 스파게티 대환장 파티 🐢 역할분담 Model: 데이터랑 비즈니스 로직 담당 → 똑똑한 거북이 🐢💻Controller: 요청 받고 Model 불러서 View에 넘김 → 중간 전달 거북이 🐢📨View: 화면 그리기만 함 → 예쁜 거북이 🐢🎨 🔥 정리 Model/Controller는 서버 뇌근육, View는 디자인 담당임 🐢 MVC동작 흐름 1.브라우저에서 URL 요청함 2. 내장 톰캣 서버가 받음 → 스프링 컨트롤러 호출 3. 컨트롤러가 name: spring 데이터 세팅하고 hello-template 리턴함 4. ViewResolver가 templat..
2025.08.05 -
스프링 부트 프로젝트 생성부터 실행까지 (Gradle vs Maven, 설정, 라이브러리 구조 완벽 정리!)
1️⃣ 프로젝트 생성 (Spring Initializr)스프링 부트 프로젝트는 https://start.spring.io/에서 생성합니다.Project: Gradle (요즘은 Gradle이 더 많이 쓰임)Language: JavaSpring Boot: 최신 버전 선택Dependencies:Spring Web (웹 애플리케이션 개발)Thymeleaf (템플릿 엔진)다운로드 후 압축을 풀고 IntelliJ IDEA에서 열어줍니다.2️⃣ Gradle vs Maven (빌드 도구 차이)스프링 부트 프로젝트를 만들 때 Gradle과 Maven 중 하나를 선택할 수 있습니다.✅ MavenXML 기반 설정 (pom.xml)오래된 표준, 안정적설정이 직관적이지만 코드가 길어짐✅ GradleGroovy/Kotlin DS..
2025.08.04