SPRING(8)
-
스프링 채팅기능(2023.07.25)
(1) 웹 소켓이란? - 소켓은 웹에서 동작하는 Socket을 의미한다. 웹은 기본적으로 비연결통신이다. 한번 수신하고 끝내는 식이다. 전화처럼 계속 연결되어있고, 실시간으로 소통하는 것이 아니라 문자 한번 보내면 연결은 끝난다. 웹은 이런 식으로 비연결형 통신이다. - 웹은 일회성 연결만 가능하다. - 소켓은 계속 연결되어 있다. 마치 종이컵 두 개를 가지고, 전화할 수 있는 것이 웹소켓이다. 채팅할 때도 필요하고, 실시간 데이터가 관리되어야 하는 빗썸과 같은 가상자산 플랫폼에서는 소켓을 많이 활용한다. - 웹소켓을 활용하면 서버가 클라한테 마음대로 데이터를 받으라 할 수 있다. - 클라이언트가 서버한테 "정보 좀 주세요~" 하지 않아도 서버가 알아서 데이터를 보내줄 수 있다. 이게 엄청난 장점. - ..
2023.07.25 -
스프링 설정 파일 template
(1) pom.xml 4.0.0 com.kh app springPrj07 war 1.0.0-BUILD-SNAPSHOT 11 5.3.22 1.6.10 2.0.1 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime org.slf4j slf4j-log4j12 ${org.slf4j-version} runtim..
2023.06.19 -
생명주기(Life Cycle)
스프링 컨테이너 생명주기 생성 : GenericXmlApplicationContext를 이용한 스프링 컨테이너가 초기화된다. 과정 : getBean()을 이용한 빈(Bean)객체를 이용한다. 소멸 : close()를 이용한 스프링 컨테이너를 종료시킨다. 빈(Bean) 객체 생명주기 - 빈(Bean) 객체의 생명주기는 스프링 컨테이너의 생명주기와 같이 한다. - 스프링 컨테이너가 초기화 될 때, 빈 객체도 생성 및 주입 된다. - 스프링 컨테이너가 종료되면, 빈 객체도 같이 소멸된다.
2023.04.19 -
의존객체 선택
의존객체 선택이란? - 다수의 빈(Bean) 객체 중 의존 객체의 대상이 되는 객체를 선택하는 방법에 대해서 배운다. 1. - 동일한 데이터 타입의 객체(Bean)이 스프링 컨테이너에 존재한다고 할 때, @Autowired를 쓰면 자동으로 주입이 되어야 하는데 스프링 컨테이너는 여기에서 헷갈린다. - 어떤 객체를 주입해야 하는지 헷갈릴 수 있다. 결국 동일한 객체가 2개 이상인 경우 스프링 컨테이너는 자동 주입 대상 객체를 판단하지 못해서 Exception을 발생시킨다. - 이럴 때, qualifier라는 태그를 사용한다. qualifier는 동일한 객체가 있을 때 qualifier를 붙이면 그 객체를 먼저 쓴다는 뜻이다. - @Autowired로 주입하는 객체의 이름과 주입되는 객체의 id가 같으면 에..
2023.03.23 -
의존객체 자동 주입
의존 객체 자동 주입이란? - 스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능이다. - 구현 방법은 @Autowired와 @Resoucre 어노테이션을 이용해서 쉽게 구현할 수 있다. 1. @Autowired - 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입한다. - @Autowired를 붙이면 자동으로 스프링 컨테이너에 있는 객체 중에 특정 타입을 넣어서 붙여준다. - @Autowired는 생성자, 프로퍼티 등에 쓸 수 있다. 2. @Resource - 주입하려고 하는 객체의 이름이 일치하는 객체를 자동으로 주입한다. - @Resource..
2023.03.23 -
스프링 설정 파일 분리
빈(Bean)의 범위 1. 싱글톤(Singleton) - 스프링 컨테이너에서 생성된 빈 객체의 경우 동일한 타입에 대해서는 기본적으로 한 개만 생성이 되며, getBean() 메소드로 호출될 때 동일한 객체가 변환 된다. 2. 프로토타입(Prototype) - 싱글톤 범위와 반대의 개념도 있는데 이를 프로토타입 범위라고 한다. 프로토타입의 경우 개발자는 별도로 설정을 해줘야 하는데, 스프링 설정 파일에서 빈 객체를 정의할 때 scope 속성을 명시해 주면 된다.
2023.03.22