본문 바로가기

Java/Spring4

[Spring] DAO / DTO / VO 1. DAO (Data Access Object)데이터베이스에 접근하는 역할을 하는 객체데이터의 CRUD작업을 시행하는 클래스. 즉, 데이터에 대한 CRUD 기능을 전담하는 오브젝트데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다.public class UserDao { public User getUserById(int id) { // 데이터베이스에서 사용자 정보를 조회 } public void saveUser(User user) { // 사용자 정보를 데이터베이스에 저장 }}2. DTO (Data Transfer Object)계층 간 데이터를 전달하는 객체로, 데이터를 한 곳에서 다른 곳으로 전달하기 위해 사용컨트롤러와 서비스 간,.. 2024. 9. 22.
[Spring] 의존성 주입(DI) 1. 의존성(의존 관계)이란?객체를 생성 및 사용함에 있어, 하나의 객체가 다른 객체를 필요로 하는 상태(관계)= 다른 객체를 참조2. 의존성 주입(DI)이란?객체 간의 관계(의존성)를 외부에서 결정해주는 방식으로,객체를 직접 생성하는 대신 외부에서 생성한 후 주입하는 방법이다.3. 의존성 주입의 장점코드의 재사용성, 유연성이 높아진다. 하나의 작업만 수행하는 작은 객체는 많은 상황에서 재결합하고 재사용하기가 쉽기 때문이다.객체간 결합도가 낮기 때문에 한 클래스를 수정했을 때 다른 클래스도 수정해야 하는 상황을 막아준다.유지보수가 쉬우며 테스트가 용이해진다.확장성을 가진다.4. 의존성 주입의 3가지 방법생성자 주입(Construct Injection)의존성을 생성자의 매개변수로 전달받는 방법으로 객체가 .. 2024. 9. 22.
[Spring] 스프링 빈(Bean) 1. 빈(Bean)이란?의존성 주입을 하기 위해서, IoC 컨테이너가 관리하는 자바 POJO 객체2. POJO(Plain Old Java Object)란?복잡한 프레임워크나 특정한 구조에 얽매이지 않고 순수한 자바 객체3. Bean 등록 방법1. XML 전통적인 방식이지만 요즘 사용 X 2. 자바 코드로 직접 스프링 빈 등록(@Bean & @Configuration) → 수동 빈@Configuration: 해당 클래스가 스프링 빈을 구성하는 클래스임을 나타낸다. 이 클래스 안에는 여러 개의 @Bean 메서드가 있을 수 있다.@Bean: 해당 메서드가 반환하는 객체를 스프링 컨테이너에 빈으로 등록한다는 의미. 즉, 이 메서드를 통해 직접 정의한 객체가 스프링의 관리 대상이 .. 2024. 9. 22.
[Spring] 제어의 역전(IoC) 제어의 역전(IoC)이란?제어의 역전(IoC)는 애플리케이션의 제어 흐름을 개발자가 직접 관리하는 것이 아니라, 외부 프레임워크나 라이브러리에 제어흐름을 위임하는 설계 원칙이다. 또한 제어흐름 뿐만 아니라 생명주기, 의존성 관리도 프레임워크가 대신 처리하는 것이다.제어흐름: 프로그램이 실행되는 동안 명령어들이 어떤 순서로 실행되는지를 결정하는 흐름생명주기: 객체나 애플리케이션의 생성과 소멸까지의 전 과정스프링 빈의 생명주기: 생성 → 의존성 주입 → 초기화 → 사용 → 소멸.애플리케이션 생명주기: 시작 → 실행 → 종료.의존성 관리: 객체(빈) 간의 관계를 다루며, 한 객체가 다른 객체를 어떻게 얻고 사용할지를 관리IoC 컨테이너란?IoC 컨테이너는 객체의 생명주기와 의존성을 관리하는 시스템이다. 제어의.. 2024. 9. 22.