본문 바로가기
728x90

IT개발/Spring Framework12

스프링 DI(Dependency Injection) 스프링을 사용하면 객체 간의 의존성을 관리하는 방식이 기존의 Java 코드와 다르다.특히, **의존성 주입(DI, Dependency Injection)**은 스프링의 핵심 개념 중 하나이며, 이를 통해 객체 간의 결합도를 낮추고 유지보수를 쉽게 만들 수 있다.✅ 의존성(Dependency)이란?객체 A가 객체 B를 사용해야 할 때, A는 B에 **의존(Dependency)**한다고 말할 수 있다.예를 들어, MemberService 클래스에서 MemberRepository 클래스를 사용한다고 가정해 보자.public class MemberService { private MemberRepository memberRepository = new MemberRepository();} 위 코드에서는 Mem.. 2025. 3. 27.
@Transactional: 데이터베이스 트랜잭션 관리의 핵심(백엔드개발/Spring Framework) Java와 Spring 프레임워크를 사용하여 개발할 때, 데이터베이스 트랜잭션 관리의 중요성을 간과할 수 없다. 이때 @Transactional 어노테이션이 큰 역할을 한다.1. 트랜잭션이란?트랜잭션은 데이터베이스에서의 작업 단위를 의미한다. 여러 작업을 하나의 단위로 묶어 처리하며, 데이터의 일관성과 무결성을 보장하기 위한 중요한 요소이다. 트랜잭션은 다음과 같은 네 가지 주요 속성(ACID)으로 정의된다:원자성 (Atomicity): 트랜잭션 내의 모든 작업이 완전히 수행되거나 전혀 수행되지 않아야 한다.일관성 (Consistency): 트랜잭션이 성공적으로 완료되면 데이터베이스는 일관된 상태여야 한다.고립성 (Isolation): 동시에 실행되는 트랜잭션이 서로에게 영향을 미치지 않도록 보장한다.지.. 2025. 2. 28.
Koyeb 으로 백엔드 프로젝트(Spring 프로젝트) 배포해보기(Github Repository 기반 배포) - 오류발생(해결진행중) 1. Koyeb 사이트 접속 및 회원가입https://app.koyeb.com/ KoyebKoyeb is a developer-friendly serverless platform to deploy apps globally. No-ops, servers, and infrastructure management.app.koyeb.com 2. Overview --> Web Service --> Github  클릭 3. Install Github app 클릭 4. 내 깃허브 연동(Install) 후 원하는 Repository 검색 후 클릭5. Free 선택 &  Frankfurt 또는 Washington, D.C 중 하나 선택 후 Next 버튼Frankfurt 또는 Washington, D.C 선택하는건 정확히 .. 2025. 2. 10.
Spring MVC에서 컨트롤러 메소드의 매개변수 타입 Spring MVC에서 컨트롤러 메소드의 매개변수 타입1. Model설명 : Model은 컨트롤러에서 뷰로 데이터를 전달하기 위해 사용하는 객체입니다. 뷰에 데이터를 추가할 수 있도록 도와줍니다.사용 예: model.addAttribute("key", value) 메소드를 사용하여 데이터를 추가합니다. 예시:@RequestMapping("/display")public String display(Model model) { model.addAttribute("message", "Hello, World!"); return "displayView"; // displayView.jsp 또는 displayView.html로 이동} 2. @RequestParam설명 : HTTP 요청의 파라미터를 메소드의 .. 2025. 1. 17.
카카오맵 api 사용 에러 해결 : Uncaught ReferenceError: kakao is not defined 백엔드 교육과정에서 마지막 프로젝트로 진행했던 코드를 개인적으로 확인해보려 전체 코드를 복사 후 하나씩 확인하던 중 카카오맵 api 관련 오류가 발생했다. 카카오맵 관련해서는 다른 팀원이 작업을 했던거라 해결이 어려울줄 알았지만 카카오맵 api 사용 방법에 대한 부분이 가이드로 잘 정리가 되어있었기 때문에 문제 해결이 어렵지 않을거라 생각했다. 카카오맵 API 가이드 페이지 : https://apis.map.kakao.com/web/guide/ 그런데, 가이드에 맞게 하라는 대로 다 했는데 계속 동일한 에러가 발생했다.    처음에는 권한 관련 에러인 줄 모르고 계속 똑같은 과정만 반복했다.왜냐하면 인터넷에서 카카오맵 API 사용방법을 찾아봤을때 모두 앱키와 플랫폼 등록에 대한 내용만 있었기 때문이다. .. 2024. 12. 21.
Spring Container(스프링 컨테이너/프레임워크/백엔드/개발/자바/프로그래밍/java/framework) MessageObject(인터페이스)HelloMessageObject(클래스)  //  MessagePrintObject(클래스)  // MessagePrintApp(클래스)  //  HiMessageObject(클래스)03_message.xmlMessageObject(인터페이스)public interface MessageObject { String getMessage();}  HelloMessageObject(클래스)public class HelloMessageObject implements MessageObject { @Override public String getMessage() { return "Hello!!!"; }} MessagePrintObject(클래스) >> 관계를 맺기 위해 생성자나.. 2024. 12. 4.
728x90