pooney
Java 인스턴스 변수와 정척 초기화 블록
Java 2020. 8. 17. 01:07

변수는 크게 인스턴스 변수 , 정적 변수가 존재합니다. 우리가 가장 흔하게 사용하는 변수가 아마도 인스턴스 변수일 것입니다. 인스턴스 변수는 객체 속에 존재하는 변수로 객체가 생성되어야만 사용할 수 있는 변수입니다. class SubClass{ String instanceField = "인스턴스 변수"; } public class Main { public static void main(String[] args) { SubClass subClass = new SubClass(); System.out.println(subClass.instanceField); // [결과] : 인스턴스 변수 } } 이러한 인스턴스 변수를 사용하는 이유는 흔히 그 객체만이 가져야하는 값을 지니게 하기 위함입니다. 또한 가령예로..

[MyBatis] foreach를 사용한 merge into update
MyBatis 2020. 7. 26. 19:19

insert into testdb.testsub( sub_idx, parent_idx, sub_keyword ) values (#{item.subIdx}, #{item.mainIdx},#{item.subKeyWord}) ON DUPLICATE KEY UPDATE sub_keyword=VALUES(sub_keyword);

article thumbnail
MobaXterm을 활용한 SSH 접근방법
카테고리 없음 2020. 7. 18. 18:22

흔히 우리가 만든 WebApplication을 개발 서버에 소스코드를 배포해서 사용하는 경우가 많습니다. 이때 자신, 다른 사람의 서버에 접속하기 위하여 SSH를 사용을하게 됩니다. SSH(Secure Shell Protocol)로 만글대로 보안이 적용된 프로토콜이라고 보시면됩니다. 이러한 SSH를 사용하는 용도는 아래와 같습니다. SSH 용도 1. 소스코드와 같은 것을 서버에 올리기 위한 데이터 전송 2. 개발서버로 원격 접속을 하여 각종 제어 물론 데이터 전송을 위해서 FTP(파일전송프로토콜) 소프트웨어 파일질라 , Telnet 등이 존재하지만 이러한 것들은 보안에 취약하다는 점이 존재를 합니다. 때문에 우리는 Secure가 적용되고 안전하게 데이터 전송과 원겍제어를 할 수 있는 SSH를 사용을 할것..

article thumbnail
Spring boot @JsonFilter
Spring boot 2020. 7. 5. 19:08

사용자에 따른 json 형태로 데이터를 보내고자 할때 보내지 않아도 되는 데이터는 필터링하여 보내고 싶은 경우가 있다. 이떄 사용하는 것이 @JsonFilter 이다 User package com.ex.boot.web; import com.fasterxml.jackson.annotation.JsonFilter; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @Data @NoArgsConstructor @AllArgsConstructor @Jso..

article thumbnail
Spring boot @Valid를 사용하여 유효성 체크
Spring boot 2020. 7. 5. 18:03

유효성을 체크하기 위하여 많이 사용하는 방법은 @Valid을 사용하는 것이다. 사용하기 위해서는 dependency를 추가해 줘야한다 Gradle dependency compile group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final' compile group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.1.5.Final' TestController @RestController public class TestController { //사용자 조회 @GetMapping("/user") public String user(String id){ throw n..

article thumbnail
Spring boot AOP를 이용한 Exception Handling
Spring boot 2020. 7. 5. 16:28

일반화 된 예외를 처리하기 위하여 Aop를 활용한 Exception Handling을 할 것입니다. 그렇기 떄문에 우리가 사용하는 시스템에서 예외가 발생했을 때 에러를 Handling 할 수 있는 Spring boot 에서 제공하는 클래스를 만들 것 입니다. Controller에 요청을 했을때 예외가 발생하는 코드를 작성하였습니다. TestController @RestController public class TestController { @GetMapping("/user") public String user(String id){ throw new UserNotFoundExtion(String.format("존재하지 않는 회원 [ID : %s]", id)); } } UserNotFoundExtion @R..

article thumbnail
Spring boot API 요청 시 Status 변경
Spring boot 2020. 7. 5. 03:36

Rest Api를 구현할 경우 4xx , 5xx , 2xx 등 여러 요청에따른 Status를 사용자에게 전달합니다. 만약 사용자가 존재하지 않는 정보를 요청한 경우 예외가 발생 할 수 있습니다. 예외가 발생하면 서브에서 발생한 에러인 500에러를 전달 할 것입니다. 이러한 status를 변경하여 사용자에게 전달할 수 있는 방법이 있습니다. 그것은 바로 @ResponseStatus를 사용하는 것입니다. @ResponseStatus 사용전 아래는 존재하지 않는 회원을 요청하는 경우로 가정하여 일부러 예외가 발생하는 코드를 작성했습니다. 에러는 error 메세지를 출력하는 ErrorCreate를 만들어 던지겠습니다. TestController @RestController public class TestCont..

article thumbnail
Spring boot ServletUriComponentsBuilder
Spring boot 2020. 7. 5. 02:55

Rest API를 구현 하다 보면 사용자로 부터 요청왔을때 특정값을 포함한 uri를 전달해야 하는 상황이 발생할 수 있다. 이떄 사용하는 것이 ServletUriComponentsBuilder이다. ServletUriComponentsBuilder를 통해 적절한 URI를 만들고 요청한 사용자에게 특정값을 포함한 URI를 전달 할 수 있다. ServletUriComponentsBuilder 아래의 방식은 파일업로드 후 파일다운로드 경로를 사용자에게 보내주고자 할 때 자주 사용되는 방법입니다. 지금은 간단한 예제를 만들겠습니다. TestController ServletUriComponentsBuilder.fromCurrentRequest()를 통해 사용자가 요청한 Uri를 가져온 다음 path를 통해 원하는..