▶빌더패턴이 뭐지?빌더패턴은 생성자로만 객체를 생성했을 때 문제를 해결하기 위한 패턴이다. ▶생성자로 객체 생성생성자로만 객체 생성을 하면 코드가 복잡해지고 가독성이 떨어진다.public class Person { private String name; private int age; private String gender; private String address; public Person(String name, int age, String gender, String address) { this.name = name; this.age = age; this.gender = gender; this.address = address; ..
BackEnd/Spring Boot🍃
개발하다보면 여기저기 Lombok코드들이 많이 쓰인다. 어느순간부터 코드에 들어와있던 녀석들...을 알고써보면 좋을 것 같아서 글을 쓴다.역시 개발은 공부하고 내가 아는걸 코드로 작성해야지 더 재미있는 것 같다. ▶시작하기 전, 생성자는 뭐지??생성자는 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메소드 이다.인스턴스 변수의 초기화 작업에 사용되며, 인스턴스 생성시에 실행되어야 할 작업을 위해서도 사용된다. 생성자는 클래스 내에 선언되며, 메소드와 달리 리턴값이 없다.또한 생성자의 이름은 클래스의 이름과 같아야한다. 생성자에는 기본생성자와 파라미터가 있는 생성자 두개가 존재한다.public class MemberDTO { private Long id; private String memberE..
▶의존성주입(DI)이란?사용자가 new키워드를 통해 객체를 생성하고 소멸시키는 과정 필요 없이의존성주입을 해서 Spring Container가 Bean들의 생명 주기를 관리해주는 기능을 IoC , 제어의 역전이라고 한다. 이 기능을 사용하기 위해서는 우선 객체를 빈으로 등록해야한다.Bean 등록은 XML 설정 파일을 통해서도 할 수 있고,Annotation을 이용한 자바 코드를 통해서 등록할 수도 있다. https://learning-study.tistory.com/entry/Spring-Boot-ApplicationContext%EB%9E%80-ApplicationContext-Interface%EB%A5%BC-%EA%B5%AC%ED%98%84%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8..
▶ApplicationContext란?스프링을 공부할 때 ApplicationContext를 많이 들어봤을것이다. 듣기만 하고 넘기면 안된다. ApplicationContext란 뭘까?바로 스프링 컨테이너이다.스프링 컨테이너의 이름이 ApplicationContext이다. 그러면 컨테이너는 뭘까?컨테이너는 빈의 생명주기를 관리하고, 객체를 어떤 방식(싱글톤, 프로토타입)으로 만들지 정하는 역할을 한다.즉, 스프링의 핵심이다. 그러면 빈은 뭘까?빈. Bean은 컨테이너가 관리하는 객체를 말한다. 즉, 빈을 관리하는 컨테이너는 스프링의 핵심이고.그 핵심인 스프링 컨테이너의 이름이 ApplicationContext 인 것이다. ▷Spring Framework의 핵심모듈그림을 보면 Core Contai..
WAS(톰캣)가 Web.xml 파일을 통해서 서블릿을 찾듯이DispatcherServlet도 /WEB-INF/”서블릿이름”-servlet.xml 파일을 통해서파일에 설정된 친구들과 함께 요청을 처리하게 된다. 우선 톰캣이 서블릿을 찾고, DispatcherServlet한테 처리해달라고 하면DispatcherServlet은 이러쿵저러쿵 잘 해서 사용자한테 응답화면을 보여준다는건데...과연 이게 어떻게 이루어질까? 궁금해졌다. ▶ /WEB-INF/”서블릿이름”-servlet.xml 파일서블릿이 가지고있는 설정 파일이다. "서블릿이름"부분은 Web.xml에 작성해주면 된다. ▶Controller스프링이 지원해주는 혜택을 받기위해서는 내가 만든 클래스들을 Bean으로 등록해야한다.빈은 빈태그를 ..
저번 포스팅에서 Servlet의 문제점으로각 Servlet의 service() 메서드에서 중복되는 부분이 많다.Servlet에 종속적인 구조를 가진다.이후, 각 컨트롤러에서 공통으로 처리해야하는 로직이 생기면 중복이 발생한다.이렇게 3가지의 문제점이 있다고 말했다. 어떻게 이 문제점을 해결할 수 있을까? 그전에 Front Controller패턴에 대해서 알아 볼 필요가 있다. ▶Front Controller란?클라이언트 요청을 받는 최앞단에 모든 요청을 받을 수 있도록 컨트롤러를 하나 만들고이곳에서 각 요청별로 처리하는 로직을 찾아서 이를 전달해 요청을 수행하도록 하는 방법이다. Front Controller 패턴을 활용한 구조를 통해서매 요청마다 각각의 서블릿을 사용하는 것이 아닌하나의 서블릿을 통해..