JAVA & Spring

JAVA & Spring/JAVA 이론

[JAVA] 생성자 / 오버로딩(overloading)

1. 생성자 (Constructor) 생성자 : 사용할 클래스의 변수를 미리 초기화해준다. 매개변수, 구현부가 없다. this.(필드명) : Car 클래스 내의 필드 default 생성자 : 클래스에 생성자를 구현하지 않아도 new 키워드로 생성자를 호출할 수 있음. - 클래스에 생성자가 하나도 없어도 컴파일러가 default 생성자 코드를 넣어준다. - public Car(){ }; class Car{ public String color; public int speed; //default 생성자 public Car(){} //생성자 Car(String color, int speed){ this.color = color; this.speed = speed; } } main에서 호출할 때 - 방법 1 pu..

JAVA & Spring/Java Library

[Java / Spring] Lombok 롬복

Lombok이란? Lombok이란 반복되는 메서드를 Annotation을 사용해서 자동으로 작성해 주는 Java의 라이브러리이다. 보통 Model, Entity의 경우 여러 속성이 존재하고, 이들의 속성들에 대해 Getter Setter 등의 메서드를 반복해서 작성해줘야 하는 경우가 많다. Lombok은 이 부분을 Annotation으로 대체하여 코드를 생성해 준다. Lombok을 이용해서 작성한 코드는 컴파일 과정에서 IDE가 Annotation을 이용해서 코드를 생성하고, 그 코드가. class에 담기게 되는 것이다. 귀찮은 반복 작업을 줄여준다는 점에서 매우 편리하고, 많이 사용하지만 남용해서는 안된다. 다른 라이브러리와의 충돌이 발생할 수도 있고, 내가 원하는 대로 동작하지 않을 수도 있기 때문이..

JAVA & Spring

[Java] StringTokenizer

StringTokenizer 문자열을 지정된 구분자를 기준으로 나눠주는 클래스이다. 구분자로 나눈 결과물들을 Token이라고 한다. ex) 010-1234-5678에서, 010, 1234, 5678 온 Token이고, ‘-’은 구분자이다. 1. 생성자 StringTokenizer(String str) default 구분자를 이용한다. default 구분자는 공백이다. ( 띄어쓰기" " 또는 \t, \n, \f, r 등 ) StringTokenizer(String str, String delim) 지정해 준 구분자로 문자열을 분리 delim : delimiter의 약자 StringTokenizer(String str, String delim, boolean returnDelims) returnDelims=..

JAVA & Spring

[Java] Optional<T> 클래스

Optional Java8부터 Optional 클래스를 사용해 NPE(Null Pointer Exception)을 방지할 수 있다. 만약 null이면 안 되는 어떤 값을 검사해야 할 때, if 문들 사용해서 "null일 때는 어떻게 하고~ null이 아니면 어떻게 하고~"를 일일이 작성해야 하는 불편함이 있었다. Optional 을 사용하면 이 부분의 코드를 간결하게 바꿀 수 있다. Optional 이란? Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스이다. Optional로 설정된 값을 참조하더라고 NPE가 발생하지 않도록 도와준다. 즉, 예상치 못한 NPE 예외 발생을 피할 수 있어 권장되는 방법이라고 한다. Optional 객체 생성 of() 또는 ofNullable()을..

JAVA & Spring/Spring

[Spring] 세션, 쿠키, @SessionAttribute 로그인 확인

쿠키 로그인 기능이 있는 서비스를 개발하다 보면, 로그인 시 이용할 수 있는 페이지와 그렇지 않은 페이지가 있다. 같은 화면도 로그인 이용자에게 보여줄 화면과 비로그인 이용자에게 보여줄 화면을 다르게 설정해야 할 때도 있다. 이때, 쿠키를 사용해서 로그인 정보를 관리할 수 있다. 서버에서 클라이언트로 loginId가 담긴 쿠키를 전달하고, 클라이언트에서는 그 쿠키를 저장해 뒀다가 HTTP 요청 시 서버로 전달한다. //Cookie 생성자 Cookie idCookie = new Cookie( String name, String value ) //HTTP 응답에 쿠키 담기 response.addCookie( idCookie ); //쿠키 삭제하는 법 idCookie.setMaxAge(0); //..

JAVA & Spring/Spring

[Spring Boot] PRG 패턴 ( Post - Redirect - Get )

PRG 패턴 (Post-Redirect-Get) 웹 개발 패턴 중 자주 쓰이는 패턴 중 하나이다. HTTP Post 요청에 대한 응답을 다른 URL로의 GET방식으로 Redirect 하는 것이다. PRG 패턴을 사용하지 않을 때 발생하는 문제 첫 번째로, Post 요청 처리 시 새로고침으로 인해 동일한 요청이 연속적으로 보내지는 오류가 발생할 수 있다. Post 요청을 처리할 때, 변경이 일어나지 않는 로직이라면 상관없지만, Post로 값을 받아 무언가를 변경하는 로직이 있다면 새로고침 했을 때 그 로직이 반복 실행되는 문제가 발생할 수 있다. 두 번째로, Post 요청 처리 후 다른 페이지를 호출하는 경우 해당 페이지를 호출할 때 필요한 파라미터들을 넘겨주지 않아서 문제가 발생할 수 있다. 이런 문제들..

JAVA & Spring/Java Library

[Spring] 로깅 logging (@Slf4j)

로깅 라이브러리 스프링 부트 라이브러리를 사용하면 기본으로 ‘ spring-boot-starter-logging ‘가 포함된다. SLF4J : 인터페이스 Logback : 구현체 로그 선언 @Slf4j : 롬복 사용가능 private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(xxx.class); xxx : 클래스 이름 로그 호출 log.info("hello"); log.info("info log={}", xxx); -> xxx의 값을 중괄호{ }자리에 담는다. 로그 레벨 설정 resources → application.properties logging.le..

JAVA & Spring/Spring

[Spring Boot] @PathVariable과 @RequestParam - 파라미터 받기

@PathVariable 경로변수 PathVariable을 사용하면 리소스 경로에 식별자를 넣어서 동적으로 URL에 정보를 담을 수 있다. URL 경로의 중괄호 { } 안쪽에 변수를 담고, 그 변수를 @PathVariable(" ")로 받아서 사용할 수 있다. 1. 기본 URL의{postId}와 매개변수 long orderId와 이름을 맞춰준다. @GetMapping ("/order/{orderId}") public String getOrder(@PathVariable String orderId){ log.info("orderId : {}", orderId); return "orderId:"+ orderId; } 요청 : http://localhost:8080/order/123 응답 : orderId:1..

HSRyuuu
'JAVA & Spring' 카테고리의 글 목록 (5 Page)