목록Spring (15)
철학과 학생의 개발자 도전기

1. Java Servlet 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 HTTP 요청을 편리하게 파싱할 수 있다. HTTP 응답을 편리하게 생성할 수 있다. 2. Dispatcher Servlet 서블릿의 일종으로 스프링 MVC의 핵심 역할을 맡는다. 모든 HTTP의 요청을 중앙에서 처리하여 웹 애플리케이션의 요청-응답 흐름을 제어한다. 이를 프론트 컨트롤러 패턴이라고 부른다. 처리 과정 요청 분석: HTTP 요청을 분석하고 적절한 컨트롤러를 탐색한다. (Handler Mapping 사용) 요청 위임: 컨트롤러에게 작업을 위임하고 뷰 이름을 반환받는다. 이때 모델 값도 갱신된다. 뷰 렌더링: 뷰 이름으로 실제 뷰를 찾고 모델을 전달하여 결과를 렌더링한다. (View Resolver 사용..
1. 빈 생명주기 빈의 생성, 초기화, 사용, 소멸의 과정을 의미한다. 스프링은 특정 시점에 사용자가 정의한 로직을 수행하는 콜백 메서드를 지원한다. 초기화 콜백, 소멸전 콜백이 있다. 초기화 콜백 빈 객체가 생성되고 의존관계 주입이 완료된 후 호출되는 메서드 @PostConstruct 어노테이션으로 지정 가능 소멸전 콜백 빈 객체가 소멸되기 전 호출되는 메서드 @PreDestory 어노테이션으로 지정 가능 2. 빈 스코프 빈이 유지되는 기간을 의미한다. 사용자가 빈 스코프를 수동으로 설정할 수 있다. 싱글톤 기본값 스프링 컨테이너의 시작과 종료를 함께 하는 스코프 하나의 인스턴스만 생성됨을 보장 프로토타입 빈이 조회될 때마다 새로운 인스턴스 생성 스프링 컨테이너는 빈 생성, 의존관계 주입, 초기화까지만..
싱글톤 방식이란 객체 인스턴스를 단 하나만 생성해서 공유하는 방식 불필요한 인스턴스 생성과 해제를 피할 수 있다. Spring에서는 @Component를 이용해서 싱글톤 빈을 만들 수 있다. 주의점 무상태(stateless)로 설계되어야 한다. 멀티쓰레드 환경에서 Race Condition이 발생할 수 있기 때문이다. 참고자료 스프링 핵심 원리 - 기본편 - 인프런 | 강의 (inflearn.com) 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com
스프링 컨테이너 스프링 컨테이너는 객체를 생성하고 의존관계를 주입하는 역할이다. 개발자 대신 스프링 컨테이너가 제어권을 가져오기 때문에 IoC 컨테이너 혹은 DI 컨테이너라고 불린다. 스프링 컨테이너가 관리하는 객체를 스프링 빈이라고 부른다. 일반적으로 스프링 컨테이너를 생성하기 위해 ApplicationContext 인터페이스를 사용한다. 스프링 빈 스프링 빈은 스프링 컨테이너가 관리하는 객체이다. 개발자는 스프링 컨테이너를 통해 빈을 참조할 수 있다. 자바 어노테이션을 기반으로 컨테이너를 만들 경우, @Configuration과 @Bean을 사용하면 된다. @Configuration이 붙은 클래스가 설정 클래스가 된다. @Bean이 붙은 메소드가 빈으로 등록되며 메소드의 이름이 빈 이름이 된다. (직..
배포 및 CI/CD 스터디 이제 스프링부트 코드를 작성하는 부분은 끝났고 서버에 배포하고 CI/CD를 적용해보면 된다. 하지만 중간에 시험기간이 껴있어서 AWS 인스턴스들을 비용 문제로 삭제한 상황이다. 그리고 버전이 달라지면서 실습환경도 달라져서 이번에는 간단히 개념적인 부분을 정리하려고 한다. 8장 EC2 서버에 프로젝트를 배포해 보자 EC2에 프로젝트 Clone 받기 1. EC2에 Git을 설치한다. 2. git clone을 사용해 코드를 원격저장소에서 복사해온다. 3. test를 수행해 코드가 잘 작동하는지 확인한다. 배포 스크립트 만들기 배포할 때마다 개발자가 명령어를 하나하나 실행하는 것은 매우 번거롭다. 명령어를 쉘 스크립트에 입력해두면 편리하게 재사용할 수 있다. .gitignore에 등록..

06장 AWS 서버 환경을 만들어보자 - AWS EC2 EC2 인스턴스 생성 AWS EC2에 접속해서 인스턴스 생성을 시작한다. 여러가지 설정을 마치고 인스턴스 시작을 누르면 생성이 완료된다. 고정 IP 할당 EC2 인스턴스에는 IP가 할당되어있는데 인스턴스를 재시작하면 새로운 IP가 할당된다. 재시작할 때마다 IP가 바뀌는 것은 번거롭기 때문에 EIP(탄력적 IP)를 생성해서 변하지 않도록 한다. EC2 서버에 접속하기 AWS에서 제공하는 브라우저 기반 SSH 연결을 사용하면 편하게 서버에 접속할 수 있다. 이제 Java8을 설치하고 타임존을 변경하고 Hostname을 변경하는 등 간단한 설정 등을 마치면 준비는 끝이다. 07장 AWS에 데이터베이스 환경을 만들어보자 - AWS RDS RDS 생성 아마..

05장 스프링 시큐리티와 OAuth2.0으로 로그인 기능 구현하기 소셜 로그인의 장점 로그인 기능을 직접 구현하는 것보다 소셜 로그인을 활용하는 것이 좋다. 로그인 보안 회원가입 인증 비밀번호 찾기 비밀번호 및 회원정보 변경 위 4가지 기능을 직접 구현하지 않아도 되기 때문이다. GCP 사용자 인증 정보 구글을 통한 소셜 로그인 기능을 구현해볼 것이다. 우선 GCP에서 인증 정보를 만들어보자. GCP에 접속한 뒤 새 프로젝트를 생성한다. 그리고 방금 생성한 프로젝트를 선택한다. 이제 왼쪽 상단의 메뉴 탭을 열어서 사용자 인증 정보에 접속한다. 현재는 생성된 정보가 없다. 사용자 인증 정보 만들기를 클릭해서 필요한 정보들을 입력하면 다음과 같이 클라이언트 ID가 생성된다. application-oauth...
스터디 시작 현재 GDSC동아리에서 스프링 스터디를 진행중이다. 저번 스터디까지 '스프링 입문' 무료 강의로 공부를 했고, 앞으로는 책으로 진행할 예정이다. 같이 공부할 책은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 이다. 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com 01장은 프로젝트 생성과 설정, 인텔리제이에서 git을 연결하는 방법 등이라 굳이 정리하지 않아도 될 것 같다. 02장 스프..