스프링
Spring 스프링 JDBC (feat. JdbcTemplate)
Spring JDBC `JDBC(Java Database Connectivity)`는 Java 언어를 통해 데이터베이스에 접속하고 SQL 쿼리를 실행하는 데 사용되는 API입니다. `Spring JDBC`는 Spring Framework에서 제공하는 JDBC를 좀 더 편리하게 사용할 수 있도록 기능을 제공하는 모듈입니다. `Spring JDBC`는 추상화된 인터페이스와 유틸리티 클래스, 예외 처리 기능 등을 제공하여 개발자가 간단하게 데이터베이스 액세스를 구현할 수 있도록 도와줍니다. JDBC보다 편리해진 Spring JDBC 연결 관리 및 자원 해제 Spring JDBC는 데이터베이스 연결(Connection)과 자원 해제를 자동으로 처리합니다. JDBC에서는 데이터베이스 연결을 수동으로 열고 닫아야 ..
Spring 스프링의 핵심 이해: IoC/DI, AOP, PSA
IoC / DI: 제어의 역전 / 의존관계 주입 스프링에서 IoC(Inversion of Control)/DI(Dependency Injection)는 객체지향 개발 방식에서 객체 간의 결합도를 낮추고 유연한 코드를 작성하기 위한 핵심적인 기술 중 하나입니다. 일반적으로 객체를 생성하고 사용하는 방식은 개발자가 코드 안에서 직접 객체를 생성하고 의존성을 설정합니다. 하지만 스프링에서는 이러한 제어권을 개발자가 아닌 스프링 컨테이너가 가져오는데, 이를 IoC(Inversion of Control, 제어의 역전)이라고 합니다. 즉, 개발자가 객체를 생성하고 의존성을 설정하는 것이 아니라, 스프링 컨테이너가 객체를 생성하고 의존성을 설정합니다. DI(Dependency Injection)는 스프링에서 IoC를..
Spring AOP(Aspect Oriented Programming) (+AOP 실습)
AOP: 관점 지향 프로그래 AOP:Aspect Orented Programming는 관점 지향 프로그래밍이라고 말하는데 여기서 관점이란 관심사라는 말로 쓰인다. 이러한 관심사의 예로는 프로그램의 실행 시간이 얼마인지 측정하거나 트랜잭션을 적용하는 것 등이 있다. 이러한 관심사들은 '핵심 로직'은 아니지만, 코드를 완전하게 만들기 위해서는 필요한 것들이다. 과거에는 핵심 로직(비즈니스 로직)을 구현하면서 내부에 필요한 관심사를 두어 처리하는 방식을 사용했다면 AOP는 과거 개발자가 작성했던 '관심사 + 핵심로직(비즈니스 로직)'을 분리해서 별도의 코드로 작성하도록 하고(관심사의 분리) 실행할 때 이를 결합하는 방식으로 접근하였다. 관심사와 핵심로직은 코드를 컴파일 혹은 실행 시점에 결합이 된다. 실제 실..