본문 바로가기

Spring Study44

[Spring 기본] 스프링 컨테이너/스프링 빈 (Spring Container/Bean) 스프링 컨테이너: 스프링 컨테이너는 스프링 빈의 생명 주기를 관리하며, 생성된 스프링 빈들에게 추가적인 기능을 제공하는 역할을 한다. IoC와 DI의 원리가 스프링 컨테이너에 적용된다. 개발자는 new 연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 소멸하지만, 스프링 컨테이너를 사용하면 해당 역할을 대신해 준다. 즉, 제어 흐름을 외부에서 관리하고, 객체들 간의 의존 관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 준다. 스프링 빈: 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다. 스프링 컨테이너 XML 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있음 ex) ApplicationContext, BeanFactory ● 스프링 컨테이너.. 2023. 8. 2.
[Spring 기본] SOLID원칙과 IoC, DI ■ 좋은 객체 지향 설계 5가지 원칙 (SOLID) SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Listov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존 역전 원칙 코드 작성시 발생하는 DIP 문제 예시 클라이언트 코드 OrderServiceImpl 은 DiscountPolicy의 인터페이스 뿐만 아니라 구체 클래스도 함께 의존 → 이를 해결하기 위함이 관심사 분리 → 애플리케이션의 전체 동작 방식을 구성(config).. 2023. 7. 31.
[HTTP] HTTP Method ■ HTTP 주요 메서드 GET: 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT: 리소스 대체, 해당 리소스가 없으면 생성 PATCH: 리소스 부분 변경 DELETE: 리소스 삭제 ● GET 리소스 조회 서버에 전달하고 싶은 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달 ● POST 요청 데이터 처리 메시지 바디를 통해 서버로 요청 데이터 전달 서버는 요청 데이터 처리 (메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능 수행 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용 ● PUT 리소스를 대체 (리소스가 있으면 대체, 리소스가 없으면 생성) → 덮어씌움 클라이언트가 리소스를 식별 (클라이언트가 리소스 위치를 알고 URI 지정 → POST와 차이점) ●.. 2023. 6. 25.
[HTTP] Internet Network (인터넷 네트워크) ● 목차 인터넷 통신 IP(Internet Protocol) TCP / UDP PORT DNS ● 인터넷 통신 - 클라이언트에서 서버로 데이터를 보내면 중간에서 인터넷이 복잡한 과정을 거쳐 서버로 도착 - 이 때 사용되는 방식을 밑에서 소개함 ● IP(Internet Protocol) - 클라이언트와 서버에 각각 부여된 IP주소를 통해 전송 - IP의 역할 지정한 IP 주소에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 - IP 프로토콜의 한계점 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성: 중간에 패킷이 사라지거나 순서대로 도착하지 않음 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 어플리케이션이 둘 이상일 경우 ● TCP / UDP - 인터.. 2023. 6. 23.