2025/05 14

application.properties 설정과 JDBC의 기본 개념

Spring Boot 프로젝트를 처음 시작하면 가장 먼저 마주하는 파일 중 하나가 application.properties다.이 설정 파일은 우리가 만든 프로젝트가 어떤 DB에 연결되는지, 어떤 포트를 사용할지 등 다양한 속성을 정의할 수 있는 곳이다.이번 글에서는 application.properties에 자주 설정하는 항목과,이 설정들이 실제로 JDBC를 통해 어떻게 동작하는지까지 정리해보았다.📌 1. application.properties에 자주 사용하는 설정✅ DB 연결 설정spring.datasource.driver-class-name=org.mariadb.jdbc.Driverspring.datasource.url=jdbc:mariadb://localhost:3306/mydbspring.da..

카테고리 없음 2025.05.20

JPA | 자바 관계 패러다임 불일치 해결

물론이야! 아래는 요청하신 내용을 블로그 형식으로 다듬은 글이야. 문장 흐름을 자연스럽게 바꾸고, 제목과 구분을 추가했어. -다체 말투도 유지했어:💾 JPA와 Spring Data JPA의 차이, 쉽게 이해하기🔍 JPA란?JPA는 Java Persistence API의 약자로, 자바 객체를 데이터베이스에 지속(Persistence) 시킬 수 있도록 도와주는 기술이다.쉽게 말해,자바 객체가 JVM 메모리 안에서만 존재하지 않고,데이터베이스에 저장되어 계속 사용할 수 있도록 만들어주는 기술이 바로 JPA다. 즉,자바 객체 RDBMS(관계형 데이터베이스) 사이를 맵핑해주는 기술로,이를 ORM(Object-Relational Mapping) 이라고 부른다.🌱 Spring Data JPA란?Spring은 ..

카테고리 없음 2025.05.20

@Component와 @Bean

🌱 스프링이 내 코드를 "일하게" 하려면?스프링 프레임워크는 기본적으로 스프링 컨테이너가 관리하는 객체들만 다룰 수 있다.-> "스프링 빈으로 등록이 되어야만, 스프링은 그 코드랑 일을 한다." 스프링 빈을 등록하는 2가지 방법1. @Componentex. @Controller, @Service, @Repository 2. @Configuration + @Bean@Configuration원래 설정 파일(.xml)이었는데, 자바로 쓴 것 잠깐! .xml 설정 파일은 뭐였을까?.xml (eXtensible Markup Language): 데이터의 의미, 전송을 위해 사이에 있는 글자가 어떤 구성을 나타내는지 표현하기 위해 사용하는 언어 (= 마크업 언어)- 네트워크로 데이터 전송할 때, 서로 다..

카테고리 없음 2025.05.13

@Component의 진화: @Controller, @Service, @Repository

1. @Component가장 기본적인 스프링 빈 등록 애노테이션@Componentpublic class MyComponent { }컴포넌트 스캔 대상이 되며, 스프링 컨테이너가 관리하는 객체로 등록된다.특별한 의미는 없지만 범용적으로 사용 가능하다. 2. @Controller@Component의 특별한 버전으로 웹 요청을 처리하는 역할@Controllerpublic class ProductController { } MVC 구조에서 컨트롤러 역할클라이언트의 요청을 받고, 응답을 반환주로 @RequestMapping, @GetMapping 등과 함께 사용 3. @Service비즈니스 로직을 처리하는 클래스에 사용@Service@Servicepublic class ProductService { } @Compo..

카테고리 없음 2025.05.12

Spring에서 요청 데이터를 전달하는 3가지 방법

{ "name": "handcream", "price": 15000, "description": "촉촉해요"}1. 쿼리 스트링 (Query String)주소에 데이터를 key=value 형태로 붙여 전달하는 방식.http://localhost:8080/products?name=_____ value의 이름으로 쿼리스트링이 날라온다. @RequestMapping(value = "/product", method = RequestMethod.POST) public void saveProduct(@RequestParam(value="name") String productName){ productService.saveProduct(productName); } 특징@RequestParam..

카테고리 없음 2025.05.12

Controller - Service (객체 생성, 호출)

@RestController//@Controller//@ResponseBodypublic class ProductController { // 상품 조회, 상품 등록 ProductController(){ System.out.println("스프링이 객체 생성하는지 확인"); } @RequestMapping(value = "", method = RequestMethod.GET) public String getProduct(){ ProductService productService = new ProductService(); return productService.getProduct(); }}⚠️ 문제 발견 !getProduct 메소드가 호출..

카테고리 없음 2025.05.12

@Controller와 HTTP

@Controller의 의미: 스프링에게 '이 클래스 스프링 빈으로 등록하는 것은 물론, 컨트롤러로 쓸거야.'라고 선언 사용법 : @RequestMapping handler method 핸들러(handler): 사용자의 요청에 의해 자동으로 호출되는 메소드 일반 메소드 : 개발자의 요청으로 의해 호출됨. HTTP📮 Request- URL(주소)를 알고 있어야 함.- Method(목적)을 알려줘야 한다. ex. 조회, 삽입, 수정, ...- Body: POST, PUT ... (HTTP 메소드 종류)1. 조회 : GET2. 등록/생성/삽입 : POST3. 수정 : (전체) PUT / (부분) PATCH4. 삭제 : DELETE📩 Response- Body : Body에 데이터를..

카테고리 없음 2025.05.10