반응형 Java31 [Clean Code] 1. 의미 있는 이름 개발자 대다수는 자신이 짠 클래스 이름과 메서드 이름을 모두 기억하지 못한다. 문장처럼 읽히는 코드 또는 표나 자료구조처럼 읽히는 코드를 짜는 데만 집중해야 마땅하다. 의미 있는 이름을 짓는 규칙을 적용하면 가독성이 높아지며, 단기적인 효과는 물론 장기적인 이익도 보장한다. 소프트웨어에서 의미 있는 이름을 지어야 하는 이유 변수, 함수, 인수, 클래스, 패키지 등 우리는 모든 곳에 이름을 붙인다. 따라서 이름을 잘 지으면 편리하다. 좋은 이름을 지으려면 시간이 걸릴지 모르지만 좋은 이름으로 절약하는 시간이 훨씬 크다. 이름을 주의하여 지으면 자신은 물론이고 코드를 읽는 사람이 좀 더 행복해질 것이다. 의미 있는 이름을 짓는 규칙들을 알아보자. 1. 의도가 분명한 이름을 지어라 2. 그릇된 정보를 남기지 .. 2021. 8. 5. [Spring] 빈 객체의 라이프사이클과 범위 (Life Cycle & Scope of Bean) 스프링 컨테이너는 빈 객체의 생성, 초기화, 의존 주입 등 객체 관리를 위한 다양한 기능 제공하며, 라이프사이클도 관리한다. 컨테이너가 생성될 때 빈 객체가 생성되고 초기화되며 컨테이너가 종료될 때 빈 객체가 소멸하게 된다. 둘의 라이프사이클에 대해 알아보자. 스프링 컨테이너와 빈 객체의 라이프사이클 스프링 컨테이너와 빈 객체를 라이프사이클을 갖는다. 빈 객체를 컨테이너에 등록되기 때문에 스프링 컨테이너의 라이프사이클에 따라 생성되거나 소멸된다. 먼저 스프링 컨테이너의 라이프사이클을 알아보자. 스프링 컨테이너의 라이프사이클 스프링 컨테이너는 초기화와 종료라는 라이프사이클을 갖는다. AnnotationConfigApplicationContext의 생성자를 이용해서 컨텍스트 객체가 생성될 때 스프링 컨테이너.. 2021. 8. 3. [Spring] 컴포넌트 스캔 - @Component, @ComponentScan 사용하기 이전까지는 설정 클래스에서 수동으로 빈 객체를 등록하고 사용하는 방법을 배웠다. 이번 포스트에서는 @Component와 @ComponentScan 애노테이션을 사용하여 스프링이 스캔할 대상을 설정하고 자동으로 빈을 등록하는 컴포넌트 스캔 기능에 대해 알아볼 것이다. @Component 애노테이션을 이용한 컴포넌트 스캔 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 따라서 설정 클래스에 별도로 빈으로 등록하지 않아도 된다. 즉 설정 클래스 코드가 크게 줄어드는 장점이 있다. 클래스에 @Component 애노테이션을 붙이면 스프링이 검색해서 빈으로 등록할 수 있다. 해당 클래스를 스캔 대상으로 표시하는 것이다. @Component public class ExDao { ... }.. 2021. 8. 2. [Spring] 의존 자동 주입(3) - @Autowired의 필수 여부, 자동 주입과 명시적 의존 주입 @Autowired를 통해 자동 의존 주입을 할 때, 반드시 빈이 필요한 게 아니라서 존재하지 않을 때 익셉션을 발생시키기보다는 다른 처리가 가능하도록 해줄 필요가 있을 수 있다. 필수적으로 빈 객체가 있어야 하는지, 그렇지 않다면 어떻게 처리를 할 수 있는지 알아보자. 의존 자동 주입 기능의 특성 @Autowired 애노테이션을 이용하면 스프링 컨테이너에서 적합한 빈 객체를 찾아 자동적으로 의존을 주입해준다. 이전 포스트에서, 자동 주입 대상이 된 빈 객체가 존재하지 않으면 익셉션이 발생하는 것을 확인하였다. 그렇다면 자동 주입 기능을 사용하지만 빈 객체가 존재하지 않는 경우도 따로 처리해주고 싶다면 어떻게 해야 할까? 그리고 자동 주입과 명시적 의존 주입이 동시에 일어나면 어떻게 될까? @Autowi.. 2021. 7. 31. 이전 1 ··· 3 4 5 6 7 8 다음 반응형