전체 글 (126) 썸네일형 리스트형 [spring(스프링)] Spring JDBC란? _디버깅의 눈물 Spring JDBC란? Spring JDBC는 스프링 프레임워크에서 제공하는 데이터베이스 연동 라이브러리로, 순수 자바 *JDBC에서 자주 발생하는 반복적인 코드 작성, 예외처리, 리소스 해제, 트랜잭션 등을 자동적으로 처리해줍니다. 순수 자바 JDBC의 예시 코드 아래 코드는 순수 자바 JDBC(Java Database Connectivity) API로 구현한 코드 예시입니다. import java.sql.*; public class JDBCTest { public static void main(String[] args) { // JDBC 연결 정보 설정 String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "myuser";.. [spring(스프링)] JPA에서의 즉시 로딩과 지연 로딩 _디버깅의 눈물 즉시 로딩(Eager Loading) 즉시 로딩은 엔티티를 로딩 할 때, 해당 엔티티와 관계가 있는 다른 엔티티들도 함께 로딩되는 방식입니다. @Entity public class Order { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String customerName; @OneToMany(mappedBy = "order", fetch = FetchType.EAGER) private List orderItems = new ArrayList(); // getters, setters, constructors... } 예를 들어, Order 엔티티와 관계가 있는 OrderItem 엔티티를 즉시 로딩으로 설.. [spring(스프링)] 의존성 주입의 3가지 방법 _디버깅의 눈물 1. 생성자 주입(Constructor Injection) public class UserServiceImpl implements UserService { private final UserRepository userRepository; private final EmailService emailService; // 생성자를 통해 의존 객체를 주입받습니다. public UserServiceImpl(UserRepository userRepository, EmailService emailService) { this.userRepository = userRepository; this.emailService = emailService; } // UserService 인터페이스의 메소드를 구현합니다. // 생성자에서.. [spring(스프링)] Spring ORM이란? _디버깅의 눈물 Spring ORM(Object-Relational Mapping) 스프링 프레임워크에서 제공하는 객체-관계형 데이터베이스 간의 매핑을 처리하는 기술입니다. ORM은 데이터베이스 테이블을 객체로 표현하고, 객체를 데이터베이스 테이블로 매핑합니다. 이를 통해 객체지향 프로그래밍과 관계형 데이터베이스의 모델 간의 불일치 문제를 해결할 수 있습니다. Spring ORM은 이러한 ORM 기술을 이용해 자바 객체와 데이터베이스 간의 매핑을 처리하며, 이를 위해 대표적으로 JPA(Java Persistence API)와 그 구현체인 Hibernate를 사용합니다. Spring ORM을 사용하면, 별도의 SQL 코드 작성 없이도 자바 객체와 데이터베이스 간의 매핑을 처리할 수 있으므로 개발 생산성을 높일 수 있습니다.. [spring(스프링)] AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)란? _디버깅의 눈물 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍) 관점 지향 프로그래밍은 애플리케이션의 여러 부분에서 공통적으로 발생하는 기능(관심사)을 분리하여 모듈화하고 필요한 코드에 적용하는 프로그래밍 방식을 말합니다. 관심사는 애플리케이션의 특정 기능이나 부가적인 작업을 의미합니다. 예를 들어 로깅, 보안, 트랜잭션, 캐싱 등이 관심사가 될 수 있습니다. AOP는 이러한 관심사들을 모듈화하고, 핵심 로직에서 분리하여 각각의 모듈로 만들어 놓은 뒤 필요한 시점에 필요한 모듈을 연결해 주는 방식으로 동작합니다. 이를 위해 AOP는 관심사를 모듈화한 것을 "어드바이스(Advice)"라고 부릅니다. import org.apache.logging.log4j.LogManager; import.. [spring(스프링)] 스프링의 5가지 특징 _디버깅의 눈물 1. IoC(Inversion of Control, 제어의 역행) 객체의 생성과 의존성 주입을 개발자가 직접 처리하는 것이 아니라, 스프링 컨테이너가 자동으로 처리합니다. 이를 제어의 역행이라고 하며, 이를 통해 객체 간의 결합도를 낮추고, 유연한 구조를 만들 수 있습니다. 2. DI(Dependency Injection, 의존성 주입) 객체 간의 의존 관계를 설정하는 기법입니다. 스프링 컨테이너(IoC 컨테이너)가 객체를 생성하고, 해당 객체가 필요로 하는 의존 객체를 외부에서 주입 받는 방법을 말합니다. 즉, 객체가 필요로 하는 의존 객체를 개발자가 직접 생성하지 않습니다. 이를 통해 객체 간의 의존 관계를 코드 내에 직접 명시하지 않아도 되며, 객체의 생성과 의존 객체의 주입을 스프링 컨테이너가 담.. [spring(스프링)] 스프링과 스프링부트의 차이? _디버깅의 눈물 스프링(Spring) 스프링(Spring)은 자바 언어를 기반으로 한 프레임워크로, 기업용 애플리케이션 개발에 많이 사용됩니다. 스프링은 IoC(Inversion of Control, 제어의 역전)와 DI(Dependency Injection, 의존성 주입) 개념을 바탕으로 만들어졌으며, AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)과 같은 고급 기술을 지원합니다. 스프링 부트(Spring boot) 스프링 부트(Spring boot)는 스프링의 기능을 보다 쉽게 사용하고자 만들어진 도구입니다. 스프링 부트는 자동설정(AutoConfiguration)과 스타터(Starter) 등을 제공하여, 개발자가 애플리케이션의 환경설정 등에 많은 시간을 들이지 않고 빠르게 개발을 .. [spring(스프링)] Filter와 Interceptor의 차이점 _디버깅의 눈물 Filter와 Interceptor는 모두 HTTP 요청과 응답을 처리하기 위한 기능으로 사용됩니다. 하지만 사용 범위, 목적, 그리고 실행 순서에 있어서 차이가 있습니다. Filter -*Servlet API에 포함된 요소로, 웹 컨테이너(=서블릿 컨테이너, ex.Tomcat) 내부에서 동작하고, 웹 애플리케이션의 모든 request와 response에 대해 호출됩니다. -주로 요청 및 응답 데이터 변환, 유효성 검사(로그인) 등을 처리합니다. -interceptor 보다 먼저 실행됩니다. Interceptor -Spring Framework에서 지원하는 기능으로, Spring MVC 프레임워크 내에서 동작합니다. -주로 로깅, 인증 등을 처리합니다. -filter 보다 늦게 실행됩니다. *Serv.. 이전 1 2 3 4 5 ··· 16 다음