목록전체 글 (155)
Rootable의 개발일기
https://school.programmers.co.kr/learn/courses/30/lessons/131120 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. Column name Type Nullable MEMBER_ID VARCHAR(100)..
📌 BeanFactory 스프링 컨테이너의 최상위 인터페이스 스프링 빈을 관리하고 조회하는 역할을 담당 getBean() 을 제공 ApplicationContext ac = new AnnotationConfigApplicationContext(설정 클래스); Bean bean = ac.getBean(이름, 타입); 📌 ApplicationContext BeanFactory 의 기능을 모두 상속받아서 제공 이 기능 외에도 추가로 부가 기능을 제공 메시지 소스를 활용한 국제화 기능 : 언어 지원 환경변수 : 로컬, 개발, 운영 등을 구분해서 처리 애플리케이션 이벤트 : 이벤트를 발행하고 구독하는 모델을 편리하게 지원 편리한 리소스 조회 : 파일, Resource Path, 외부 등에서 리소스를 편리하게 조회..
❓ 왜 빈 생명 주기를 알아야 할까 예를 들어, 우리가 보통 데이터베이스 또는 Java의 I/O 자원을 사용할 때, 애플리케이션 시작 시점에 초기화를 통해 자원을 받아 오고 종료 시점에 그 자원을 반납한다. 스프링도 마찬가지로 외부에서 자원을 갖고 와서 사용한다면 이러한 초기화와 종료 작업이 필요하다. public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출, url = " + url); connect(); call("초기화 연결 메시지"); } public void setUrl(String url) { this.url = url; } //서비스 시작시 호출 public void c..
❓ 의존 관계 주입은 왜 하는 것일까 웹 애플리케이션을 개발할 때 비즈니스 요구 사항을 개발하기 위해 컨트롤러, 서비스, 리포지토리 등으로 분리하여 설계한다. 이것은 Spring MVC 모델을 따른 것으로, 서로 분리되어 각자의 역할에만 충실하도록 개발하기 위함이다. 일반적으로 객체가 필요할 때는 new를 사용하는데, 웹에서 사용자의 클릭 한 번으로도 프로젝트 규모에 따라 정말 많은 객체의 호출이 발생하기도 한다. 이것을 해결하기 위해 스프링 컨테이너에서 필요한 객체들을 싱글톤 객체로서 등록하고 연결하는 역할을 수행하는 것이다. 여기서 연결한다는 것은 스프링에서 명시된 Annotation 또는 생성자를 보고 해당 객체에서 필요한 객체 즉, 의존성(의존 관계)를 주입해 주는 것이다. 결과적으로 개발자가 직..