[🌱Spring] 스프링 없이 의존성 주입하기: 순수 자바로 DI 직접 만들어보기
·
☕ Java/🌱 Spring
스프링을 공부하다 보면 의존성 주입(DI, Dependency Injection)이라는 개념을 만나게 됩니다. DI는 객체 간의 관계를 외부에서 주입해주는 방식으로 코드의 유연성과 테스트 편의성을 높여주는 중요한 설계 기법입니다. 하지만 DI를 먼저 배우다보면 "왜 굳이 DI가 필요한 거지?"하는 의문이 들기도 합니다. 이번 글에서는 DI의 소중함을 직접 느끼기 위해 순수 자바 코드로 DI를 구현해보려 합니다. 지금 시작합니다.  1️⃣ 객체 직접 생성(new)의  문제점스프링 없이 객체를 사용할 때 가장 흔히 사용하는 방법은 `new` 키워드를 사용해 직접 인스턴스를 생성하는 것입니다. 예를 들어 서비스 코드 안에 리포지토리(=저장소)를 직접 생성하는 식입니다.public class MemberServ..
[🌱Spring] 10분 안에 끝내는 스프링 vs 스프링 부트 핵심 비교
·
☕ Java/🌱 Spring
`Spring`과 `Spring Boot`는 둘 다 `Java` 기반의 웹 애플리케이션 개발에 사용되는 프레임워크입니다. 이름도 비슷하고 기능도 유사해서 많은 개발자들이 어떤 것을 선택해야 할지 고민하곤 합니다. 이 글에서는 여러분이 이해하기 쉽도록 두 프레임워크을 비교 분석해 보겠습니다. 1️⃣ 스프링(Spring)이란?Java는 오랫동안 사랑받아온 대표적인 프로그래밍 언어이지만 개발된 지 오래되어 몇 가지 불편한 점도 있습니다. 예를 들어, 다른 언어에 비해 속도가 느리고, 객체를 생성하고 주입하거나, 웹 요청을 처리하는 컨트롤러, 트랜잭션, 예외 처리, DAO 연결 등 모든 기능을 개발자가 일일이 구현해야 한다는 점이 있죠. 이런 작업을 매번 반복하다 보면, 코드는 점점 복잡해지고 재사용도 어려워집..
[Java Library] QueryDSL
·
☕ Java
*공식문서  http://querydsl.com/static/querydsl/3.6.3/reference/ko-KR/html_single/#d0e265  Querydsl - 레퍼런스 문서본 절에서는 SQL 모듈의 쿼라 타입 생성과 쿼리 기능을 설명한다. com.mysema.query.sql.Configuration 클래스를 이용해서 설정하며, Configuration 클래스는 생성자 인자로 Querydsl SQL Dialect를 취한다. 예를 들어querydsl.com   JPA를 활용한 웹 프로젝트 진행 중, 복잡한 쿼리 요구 사항을 효율적으로 처리하기 위해 QueryDSL을 사용하는 방법을 정리해보았다.  💡 QueryDSL은 타입 안정성을 보장하는 Java 기반의 동적 쿼리 라이브러리로 SQL, ..
[Java] 자바 메서드(Method) 총정리
·
☕ Java
개발 중 필요할 때 쉽게 찾아볼 수 있도록 자바의 핵심 Method들을 정리해보았다. 목차와 검색(Ctrl + F)을 활용하면 필요한 부분을 빠르게 참조할 수 있을 것이다.  1️⃣ String(문자열) Method 메서드설명예시 코드 (String str = "Hello Java");chatAt(int index)지정된 인덱스의 문자를 반환char c = str.charAt(2);// 'l'concat(String s)문자열을 뒤에 붙임String t = str.concat("s");// "Hello Javas"contains(CharSequence s)문자열에 특정 문자가 포함되어 있는지 확인boolean b = str.equals("HELLO");// falseequalsIgnoreCase(Stri..
[Java] 자바 기초 문법
·
☕ Java
자바의 세계로 들어가기 전에 반드시 알아야 할 필수 문법입니다.  1️⃣ 타입 자바는 데이터를 저장할 때 타입을 반드시 선언합니다. 타입은 데이터의 종류를 정의하며, 변수에 저장할 수 있는 값의 형태를 제한합니다.    타입 변수 = 값;boolean flag = true;int year = 2024;int month = 5;double pi = 3.141592653;char c = 'H';char c2 = 65; // A 출력String str = "Hello"; 1. 기본 타입값의 분류기본 타입정수byte, char, short, int, long실수float, double논리 (true/false)boolean 기본 타입은 값을 직접 저장하는 타입입니다. 정수, 실수, 논리값, 문자를 저장할 수 있..