목록전체 글 (155)
Rootable의 개발일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uYqJX/btstCVQLXBm/4UUX96RzZsNvp6hwmq4Bb1/img.png)
📌 객체 지향 프로그래밍이란 객체 지향 프로그래밍(OOP)은 컴퓨터 프로그램을 객체들의 모임으로 파악하고자 하는 것으로, 각각의 객체는 서로 협력할 수 있다. 또한, OOP는 상속, 다형성 등으로 다양한 관계를 만들어내기 때문에 프로그램을 유연하고 변경 용이하도록 만들어준다. 🔎 객체(Object)란 클래스의 인스턴스나 배열 넓은 의미로 실세계에 존재하거나 생각할 수 있는 것을 의미한다. 프로그래밍에서 객체는 필드 변수를 통해 속성을 표현하고 메서드를 통해 기능을 표현한다. 이렇게 표현한 설계도를 클래스라고 하며, 이 클래스로 공통 데이터를 가진 객체를 찍어내고, 우리는 이러한 원본 객체에 속성이나 기능을 변경하고 어떤 관계를 추가하면서 객체를 커스터마이징 한다. 📌 특징 🔎 다형성 실세계 객체를 역할과..
Spring 애플리케이션을 구성하고 설정 및 배포 등을 편리하게 진행할 수 있도록 돕는 개발 툴이다. 📌 핵심 기능 1. 자동 구성 Spring Boot 는 내장형 자동 구성 기능과 함께 제공되므로 개발에 필요한 Spring F/W, 타사 패키지 등의 종속성 항목을 사전 설정에 따라 자동으로 구성해준다. 따라서, 이를 통해 Spring 기반 애플리케이션을 빠르게 개발할 수 있도록 하고 인적 오류의 가능성을 낮춘다. 2. 독선적 접근 방식 Spring Boot 는 프로젝트 요구 사항에 따라 시작 종속성 항목을 추가 및 구성할 때 독선적 접근 방식(opinionated approach)을 따른다. 시작 종속성은 Spring Initializr 에서 Spring MVC, Security 등 스프링 애플리케이션..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cy75sY/btsdaZINJCX/s8jQwUuGncTPampqSKTOEK/img.png)
📌 순수 JDBC(Java Database Connectivity) DB 에서 접근하기 위해 선언해야 할 것들이 많고, try~catch 문에서 이들을 연결해야 한다. 또한, DB 에 전달할 데이터를 바인딩하는 작업도 직접 해줘야 하며, 쿼리 또한 직접 작성해야 한다. 마지막으로 연결을 해제하는 작업도 직접 작성해야 한다. @Slf4j @RequiredArgsConstructor public class JdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public JdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; ..
📌 Component Scan 스프링은 @Component 라는 애노테이션이 붙은 객체를 애플리케이션이 실행하는 시점에 스캔한다. 이 때, 스캔된 객체는 스프링 컨테이너에서 스프링 빈으로서 관리되어 스프링이 필요한 시점에 객체를 생성하고 관계를 맺도록 해준다. @Component 라는 애노테이션을 상속받은 애노테이션은 대표적으로 @Controller, @Service, @Repository 등이 있다. 📌 자바 코드로 스프링 빈 직접 등록 별도 설정 클래스를 생성하여 @Configuration 애노테이션을 달아준다. 해당 애노테이션을 달게 되면 스프링에 이 파일이 설정 파일이고 빈을 등록하기 위한 파일이라는 것을 알려줄 수 있다. DI 컨테이너(스프링 컨테이너)는 @Configuration으로 등록된 설..