목록분류 전체보기 (350)
삶의 공유
🔧 Map env 동작 구조로 Map의 개념 정리Map env = System.getenv(); 이 코드는 운영체제 환경변수를 Key-Value 구조로 가진 Map 객체를 반환합니다.1️⃣ Map개념Java에서 Map은 Key와 Value의 쌍으로 데이터를 저장하는 자료구조입니다.Key: 유일해야 함 (중복 X)Value: 중복 허용대표 구현체: HashMap, TreeMap, LinkedHashMap🔍 Map Details항목설명정체인터페이스 (java.util.Map)종류Key-Value 쌍 저장용 자료구조구현체HashMap, TreeMap, LinkedHashMap, Hashtable 등역할데이터를 키로 빠르게 검색, 저장, 삭제사용 형태Map map = new HashMap();2️⃣ Syst..
💡 Spring 어노테이션 완전정복: @ComponentScan, @Component, @Value, 의존성 주입 방식 총정리스프링을 처음 배우는 사람이라면 반드시 알아야 할 필수 어노테이션들 —@Component, @ComponentScan, @Value, @Autowired, @Resource, @Inject — 이 글 하나로 개념부터 실전 예제까지 한눈에 정리해드립니다.1️⃣ @Component와 @ComponentScan — 자동 Bean 등록 핵심✅ 개념 정리@Component: 스프링이 관리해야 할 클래스를 명시함.@ComponentScan: 특정 패키지를 스캔하여 @Component가 붙은 클래스를 Bean으로 등록.✅ 실전 예제 @Configuration@ComponentScan(bas..
Spring DI 원리 완전 정복: Bean, ApplicationContext, @Autowired, @Resource 비교 분석이번 글에서는 Spring Framework의 핵심 개념인 **DI(Dependency Injection)**의 작동 원리를 ApplicationContext, @Bean, @Autowired, @Resource를 중심으로 분석하고, 수동 연결 방식과 자동 주입 방식의 차이까지 예제 코드와 함께 정리해보겠습니다.🔍 AppContext란 무엇이고 왜 필요한가?AppContext는 우리가 직접 만든 간이 IoC(Inversion of Control) 컨테이너입니다. Spring의 ApplicationContext처럼, 객체(Bean)의 생성과 의존성 주입을 담당하는 역할을 합니..
Java Reflection API: 런타임에 클래스를 조작하는 마법안녕하세요! 오늘은 Java의 강력한 기능 중 하나인 Reflection API에 대해 알아보겠습니다. Reflection은 프로그램 실행 중에(런타임 시) 클래스의 구조(메타데이터)를 검사하고, 객체를 생성하며, 필드 값을 변경하고, 메서드를 호출하는 등의 작업을 가능하게 하는 기능입니다. 마치 거울(Reflection)을 통해 자기 자신을 들여다보고 조작하는 것과 같다고 할 수 있습니다.Reflection API, 왜 필요할까요?일반적으로 Java 코드를 작성할 때는 컴파일 시점에 사용할 클래스와 그 멤버(필드, 메서드)가 결정됩니다. 하지만 때로는 프로그램 실행 중에 어떤 클래스를 사용할지, 어떤 메서드를 호출할지가 결정되어야 하는..
Java Spring DI 원리 이해하기: 다형성과 객체 생성 방식 비교Spring의 핵심 기능 중 하나인 DI(Dependency Injection, 의존성 주입)는 객체 간의 의존 관계를 외부에서 주입해줌으로써 코드의 유연성과 재사용성을 높여줍니다. 이번 글에서는 다음과 같은 간단한 Java 코드 예제를 통해 DI의 개념과 다형성을 활용한 객체 생성 방식의 차이를 설명합니다.✅ 예제 코드: 객체 생성 방식 비교class Car {}class SportCar extends Car {}class Truck extends Car {}class Engine {}class Door {}public class Main { public static void main(String[] args) throws E..
Thymeleaf는 Spring Boot에서 가장 많이 쓰이는 템플릿 엔진입니다. HTML 문법을 그대로 유지하면서 서버 데이터를 동적으로 출력할 수 있어 프론트와 백엔드가 함께 개발할 때 매우 유용합니다.이번 글에서는 아래 컨트롤러와 뷰 코드를 예시로 들어, Thymeleaf의 주요 기능들을 정리해 보겠습니다.✅ 컨트롤러 예시 코드@GetMapping("/test")public String test(Model model, HttpServletRequest request){ request.setAttribute("year", 2022); HttpSession session = request.getSession(); session.setAttribute("id", "asdf"); Se..