본문 바로가기

Spring13

[Spring] Junit5를 이용한 테스트 1. Junit5 디펜던시 추가 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test 먼저 Junit5 디펜던시를 추가, 업데이트한다. 2. 테스트 클래스 생성 테스트할 파일에서 Ctrl + Shift + T를 눌러서(IntelliJ) Create New Test... 선택 테스트를 생성할 메소드를 선택한 후 OK 클릭 3. 테스트 코드 작성 생성된 메소드에 태스트 코드를 작성한다. Assertions... 를 이용하여 테스트 성공 조건을 선택할 수 있다. 아래의 경우 Assertions.assertNotNull()이 이용되어 있는데, 이는 메소드 실행결과가 Null이 아니라면 테스트를 통과했다는 의미이다... 2021. 9. 23.
[Spring] 하나의 프로젝트에 다른 포트 번호로 두 개의 App을 실행하기 마이크로 서비스를 테스트하기 위해 클라이언트 역할의 앱 하나, 서버 역할의 앱 하나가 필요하다. 서버 앱의 경우 별다른 설정 없이 그대로 실행시켜주고, 클라이언트 앱을 다른 포트번호로 실행시킨다. @SpringBootApplication @DirtiesContext @SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT) public class SpringBootJwtConsumeApplication { public static void main(String[] args) { SpringApplication app = new SpringApplication(SpringBootJwtConsumeApplication.class); app.setDefaultP.. 2021. 8. 23.
[Spring] 서버에서 다른 서버의 Rest API 요청 및 응답 받기 스프링 서버단에서 다른 서버에 request를 보내야 하는 경우 두 가지 방법을 이용 가능. ! 1. RestTemplate을 이용한다. private static void getEmployees() { final String uri = "http://localhost:8080/springrestexample/employees.xml"; RestTemplate restTemplate = new RestTemplate(); String result = restTemplate.getForObject(uri, String.class); System.out.println(result); } 2. WebClient를 이용한다. (스프링 5버전 이상에서 지원하는 방식) @Bean public WebClient lo.. 2021. 7. 25.
[Security] 스프링 시큐리티 설치 및 적용 기존의 스프링 프로젝트에 시큐리티를 적용하는 과정이다. 1. 시큐리티 의존성 pom.xml에 시큐리티 디펜던시를 추가한다. org.spring-security-version 값은 mvnrepository를 참고하여 스프링 버전과 호환되는 버전을 선택하였다. 이후 maven 업데이트를 진행한다. ... ... 5.3.1.RELEASE org.springframework.security spring-security-config ${org.spring-security-version} org.springframework.security spring-security-web ${org.spring-security-version} ... ... - . LogoutSuccessHandler 구현 로그아웃에 성공했을 시.. 2021. 6. 5.
[WebSocket] 스프링 채팅 구현 (2) - 다수 채팅방 채팅 방만 구현해보려다가 채팅중인 사람들 목록을 표시하는것도 어렵지는 않을 것 같아서 같이 해보기로 했다. 따라서 전송되는 메세지 종류에 따라 4가지 메세지 타입이 필요하다. 회원의 입장을 알리는 메세지 타입 회원의 퇴장을 알리는 메세지 타입 일반 채팅전송 타입 새로 들어온 사람에게, 기존에 채팅중이던 사람들의 목록을 전송하는 타입 이를 Enum으로 만들어준다. public enum MessageType { OPEN, SEND, CLOSE, /** * 기존에 있던 사용자명을 새로 입장한 사용자에게 보낼 때 사용하는 타입입니다. * EXISTING 타입으로 보낸 메세지는 채팅창에 출력되지 않으며, 참여중인 사람들 목록에 사용자명만 추가됩니다. */ EXISTING } 채팅 메세지 VO를 생성하고, 앞서 생.. 2021. 6. 4.