김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 웹서버와 웹 애플리케이션 서버 a. 웹 서버(Web Server)란?HTTP 기반으로 동작정적 리소스(HTML, CSS, JS, 이미지, 영상 등)를 제공ex) NGINX, APACHE b. 웹 애플리케이션 서버(WAS :..
Spring
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다. 1. 스코프(Web Scope)란?웹 환경에서만 동작하는 스코프이다.스프링이 해당 스코프의 종료시점까지 관리한다. 따라서 종료 메서드가 호출된다. 2. 웹 스코프의 종류requst: HTTP 요청 하나가 들어오고 나갈 때 까지 유지되는 스코프, 각각의 요청마다 별도의 빈 인스턴스가 생성되고 관리된다.session: HTTP Session과 동일한 생명주기를 가지는 스코프application: 서블릿 컨텍스트와 동일한 생명주기를 가지는 스코프websocket: 웹 소켓과 동일한 생명주기를 가지는 스코프해당 스코프들은 범위만 다르고 동작 방식은 비슷하기 때문에 request 스코프로 설명하겠다. 3. request 스코프 동작 방식Control..
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다. 1. 싱글톤(Singleton)이란?싱글톤 패턴은 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다.클라이언트의 요청에 따라 객체의 인스턴스를 생성할 경우 메모리 측면에서 매우 비효율적이다. 이를 해결하기 위해 싱글톤 패턴을 사용한다. 싱글톤 코드public class SingletonService { private static final SingletonService instance = new SingletonService(); public static SingletonService getInstance() { return instance; } private SingletonService() { ..
1. 조회 빈이 2개 이상인 경우@Autowired를 통해 의존 관계를 주입할 때 타입으로 조회하여 주입하게 된다. 만약 같은 타입의 빈이 2개 이상일 때 에러가 발생한다.@Componentpublic class FixDiscountPolicy implements DiscountPolicy {...}@Componentpublic class RateDiscountPolicy implements DiscountPolicy {...}@Componentpublic class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discoun..
1. 개요The dependencies of some of the beans in the application context form a cycle:┌─────┐| principalOauth2UserService (field private org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder com.cos.security1.config.outh.PrincipalOauth2UserService.bCryptPasswordEncoder)↑ ↓| securityConfig defined in file [E:\\Project\\SpringWebStudy\\security1\\out\\production\\classes\\com\\cos\\s..
Spring Boot로 Redis 간단한 CRUD를 예제를 해보겠다.1. Redis 설치아래 링크에서 Redis를 설치하면 된다! 로컬환경에 설치를 진행했다.https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redisgithub.com 2. Spring Boot ..
1. MQTT Broker 설치실습에 앞서 먼저 MQTT Broker를 설치해야 한다. 간단한 예제를 하기 때문에 로컬환경에 설치했다.MQTT Broker 중 Mosquitto를 설치하여 사용하였고, 아래 링크로 접속해서 설치를 진행했다. window일 경우 아래 사진을 참고해서 설치하면 된다.https://mosquitto.org/download/ DownloadSource mosquitto-2.0.17.tar.gz (GPG signature) Git source code repository (github.com) Older downloads are available at https://mosquitto.org/files/ Binary Installation The binary packages list..
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다.1. 개요데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료한 작업일 경우, 객체의 초기화와 종료 작업이 필요하다. 네트워크 연결하는 동작을 표현한 예제 코드를 통해 설명해보겠다.public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출 , url=" + url); connect(); call("초기화 연결 메세지"); } public void call(String msg) ..
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다.1. 서론컴포넌트 스캔과 의존관계를 자동으로 주입받게 되는 과정에 대해서 다루었던 적이 있다. 이 포스팅에서는 의존관계를 주입하는 4가지 방법들에 대해서 다루겠다. 2. 의존관계 자동주입 방법 4가지생성자 주입setter 주입필드 주입일반 메서드 주입 의존관계를 주입하는 방법에는 4가지가 있다. 하나씩 예제를 통해서 정리해보자.의존관계를 주입할 때 기본적으로 @Autowired 어노테이션을 사용한다. 참고로 @Autowired는 빈을 찾아서 주입하게 되는데 주입할 대상이 없을 경우 에러가 발생한다. 주입할 대상이 없더라도 동작하게 하려면 @Autowired(required = false)로 지정하면 된다.a. 생성자 주입@Componentpu..
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다.1. 컴포넌트 스캔(Component Scan)지금까지 스프링 빈에 등록하고 의존관계를 주입할 때 @Bean이나 XML 파일을 통해서 설정 정보에 등록하여 스프링 빈에 등록하고, 의존관계를 설정했다. 복잡도가 커지면 이 방법 또한 매우 귀찮은 작업이다.@CompoentScan을 통해 @Component로 설정된 클래스는 스프링 빈에 등록하고 @Autowired를 통해 의존관계를 자동으로 주입하는 방법에 대해 알아보자. 2. 컴포넌트 스캔 사용 방법AutoAppConfig.java(컴포넌트 탐색 역할 담당)@Configuration@ComponentScanpublic class AutoAppConfig {}AutoAppConfig는 컴포넌트를 ..