분류 전체보기

HTTP 를 이해해야 Spring Web MVC를 잘 이해할 수 있다.API URL를 설계할 때, POST를 사용할지 PUT을 사용할지, HTTP status는 어떤것을 선택할까이런 고민들을 해결하려면, HTTP 이해가 기반되어야한다. HTTP는 인터넷 네트워크망에 기반해서 동작한다.1. IP(인터넷 프로토콜)✔️ IP는 각 네트워크 장비에 고유한 주소를 할당하는 프로토콜.✔️ 이 주소를 통해 인터넷상에서 데이터 패킷이 올바른 목적지로 전송될 수 있다. 🤔IP의 한계- 비연결성: 패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷 전송- 비신뢰성: 중간에 패킷이 사라지거나 패킷 순서가 바뀔 수 있다.- 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 때, 구분해야한다..
1. 스코프는 빈이 존재할 수 있는 범위를 뜻한다.스프링 빈은 기본적으로 싱글톤 스코프로 생성된다.2. 스코프 3가지 종류싱글톤프로토타입웹관련 - request 3. 싱글톤 빈 ✅싱글톤 빈 예제 코드public class SingletonTest { @Test void singletonBeanFind(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SingletonBean.class); SingletonBean singletonBean1 = ac.getBean(SingletonBean.class); SingletonBean singletonBean2 = ac...
· Cloud
느낀점1️⃣ 실습 과정에서 오류가 터질때마다 진도를 따라가지 못했지만, 수업이 끝나고 수업을 복기하며 오늘 강의 목표만큼 컨테이너 활용법을 익힐 수 있었다.2️⃣ 거의 300명 가량있는 수업인데, 강사와 다른 수강생들과 커뮤니케이션이 활발해서 다시보기 보다는 실시간으로 수업을 듣는게 좋은 것 같다.실습 내용 정리▶️  나만의 웹프로젝트를 컨테이너화 하는 법✔️도커 파일 작성법- 절대경로보단 상대경로를 쓰자.- COPY 명령을 사용할 때, 빌드 컨텍스트의 외부 경로에 접근할 수 없다. Dockerfile에 사용된 모든 파일 및 폴더는 docker build 명령을 실행하는 디렉토리 내에 있거나 하위폴더에 있어야한다.✔️docker pull 로 image를 다운받는다.✔️docker build로 도커 이미지..
1. 스프링 컨텍스트란?애플리케이션 전체에서 사용되는 다양한 객체(빈)들의 생명주기를 관리하고, 이들 간의 의존성을 주입하는 등의 역할을 한다. 2. BeanFactory와 ApplicationContext✔️BeanFactory스프링 컨테이너의 최상위 인터페이스다.스프링 빈을 관리하고 조회하는 역할을 담당한다.`getBean()` 을 제공한다.BeanFactory를 직접 사용하는 경우는 거의 없다.✔️ApplicationContextBeanFactory 기능을 모두 상속받아서 제공한다.일반적으로 ApplicationContext를 스프링 컨테이너라 한다.BeanFactory보다 더 많은 부가 기능을 제공한다. 3. 다양한 형식의 설정 정보 지원자바코드, XML, Groovy등을 지원한다.✔️Annota..
1. 객체의 초기화와 종료 작업초기화와 소멸 콜백 기능을 통해 빈의 상태를 정확히 제어하고 이를 통해 자원을 효율적으로 관리해야한다. 1) 스프링 빈의 이벤트 생명주기스프링 컨테이너 생성▶️스프링 빈 생성 ▶️ 의존관계 주입 ▶️ 초기화 콜백 ▶️ 사용 ▶️ 소멸전 콜백 ▶️ 스프링 종료 2) 초기화와 소멸 콜백✔️초기화 콜백: 객체의 생성과 의존성 주입이 완료된 후, 초기화 콜백이 호출된다.이 단계에서는 객체가 생성된 상태와 주입된 의존성을 활용하여 필요한 초기화 작업을 수행한다.예를 들어, 데이터베이스 연결이나 필요한 리소스의 설정이 이루어질 수 있다. ✔️소멸전 콜백: 애플리케이션 종료 직전에 호출되는 소멸 콜백을 통해, 객체가 사용하던 리소스를 정리하고 연결을 종료하는 작업을 수행한다. 3) 객체..
* 스프링 로드맵모든 개발자를 위한 HTTP 웹 기본 지식 - 섹션8 ( 총 5시간 40분 )스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 섹션7  ( 총 15시간 22분 )스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 섹션11 ( 총 21시간 5분 )스프링 DB 1편 - 데이터 접근 핵심 원리 - 섹션6 ( 총 10시간 4분 )스프링 DB 2편 - 데이터 접근 활용 기술 - 섹션11 ( 총 14시간 )스프링 핵심 원리 - 고급편 - 섹션13( 총 16시간 44분 )실전! 스프링 부트 - 섹션10(총 15시간 45분) * JPA 스프링부트 로드맵 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 섹션 11개 (총 16시간 3분)실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 -..
동적으로 빈을 선택해야할 때, Map으로 빈을 받으면 편리하다.예제에서는 두가지 할인 정책이 있는데, Map에 key값만 넘겨주면 각 할인 정책에 맞는 할인가를 알 수 있다. 1. 예제: Map으로 2개의 빈 받아오기DiscountPolicy 인터페이스가 있다.fixDiscountPolicy와 rateDiscountPolicy는 구현 클래스다. ✅FixDiscountPolicy @Componentpublic class FixDiscountPolicy implements DiscountPolicy {    private int discountFixAmount = 1000; //1000원 할인    @Override    public int discount(Member member, int price) { ..
1. 조회하는 빈이 2개 이상일 때, 발생하는 문제@Autowired는 Type으로 조회하기 때문에, DiscountPolicy처럼 하위 타입을 2개 이상 가지고 있는 경우에하위 타입 클래스에 @Component로 의존관계 자동주입을 실행하면 빈 충돌 오류가 발생한다. 2. 빈 충돌 해결방법@Autowired 필드 명 매칭@Qualifier 매칭@Primary 사용1) @Autowired 필드명 매칭@Autowired는 Type 매칭을 먼저 시도한다.이 때, 빈이 여러개 있으면 다음으로 필드명, 파라미터 명으로 빈 이름을 매칭한다. ✅기존 코드@Autowiredpublic OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discoun..
백엔드 개발자 - 젤리곰
'분류 전체보기' 카테고리의 글 목록 (11 Page)