WEB 20

[Spring]문자열을 다루는 유용한 라이브러리(StringUtils) 알아보기_1

Spring에서는 문자열 처리에 다양한 기능이 있는 StringUtils 라이브러리를 제공해 줍니다. 이번 포스팅에서는 해당 라이브러리를 사용하여 문자열을 처리하는 예제를 알아보도록 하겠습니다. StringUtils 알아보기 org.springFramework.util은 기본적으로 Spring Framework에 내장되어 있어서 별도의 디펜던시 없이 사용이 가능하다. 하지만 Java에서는 StringUtils을 사용하기 위해서는 org.apache.commons.lang의 다음과 같이 pom.xml에 직접 추가해주어야 한다. org.apache.commons commons-lang3 3.8 StringUtils 라이브러리는 기본적으로 NullPointerException에 대해 안전한 연산을 해주고, 기..

WEB/Spring 2023.07.16

[MyBatis] 자주 실수하는 CDATA 사용법 자세히 알아보기

Mybatis에서 쿼리를 작성하고 빌드하는 경우에 자주 XML PARSER 관련 에러를 자주 마주하게 됩니다. 막상 확인해 보면 잘못된 CDATA 사용으로 일어나는 문제이기 때문에 이번 포스팅을 통해 정확한 사용법에 대하여 알아보도록 하겠습니다. 📌CDATA를 사용해야 하는 경우 기호 XML 엔티티 > & & " " Mybatis에서는 쿼리를 파싱 하는 과정에서 위의 기호들을 XML 엔티티로 모두 파싱을 한다. SELECT * FROM MEMBER WHERE AGE < 10 위의 쿼리를 작성 후 빌드를 하면 에러가 발생합니다. 그 이유는 조건 절에 있는 '' '&'에 해당하는 기호를 자주 사용하게 되는데 이러한 기호들을 파싱 하는 과정에서 온전히 문자열로 인식시켜야 한다. 인식시켜 주는 방법이 CDATA..

WEB/Spring 2023.06.17

[Java]stream 살펴보기_(1)등장 배경, 컬렉션과의 차이

2023.03.29 - [Languages/Java] - [Java] 컬렉션(Collection)의 개념과 구조 파악 하기 [Java]컬렉션(Collection)의 개념과 구조 파악 하기 📌컬렉션(Collection)의 개념과 구조 파악 하기 JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화 mooonstar.tistory.com 기존의 컬렉션 데이터에 대한 데이터의 처리를 하기 위해선 for, foreach문과 같은 반복을 통해 필요한 데이터를 필터링하는 작업이 필요했습니다. 하지만 사이즈가 크거나 복잡한 처리를 요구하는 작업에서의 성능 문제가 발생하였고, Java 8 이후의..

WEB/Spring 2023.05.21

[Spring]Getter 그리고 Setter 생성하고 사용하기

오늘은 멤버변수의 값을 조회하고 값을 할당하기 위한 Spring의 Getter, Setter에 대해 알아보도록 하자. 하지만 알아보기에 앞서 왜 Getter, Setter로 접근을 해야 하는지에 대해 알아야 한다. 📌자바의 접근 제어자 private : 같은 클래스 내에서만 접근 default : 같은 패키지 내에서만 접근 protected : 같은 패키지내 또는 자손 클래스일 경우 접근 public : 제한 없음 Java에서는 위의 4가지 방법으로 접근 제어자를 지정할 수 있다. 접근 제어자는 객체 지향 언어인 Java에서 데이터를 외부로부터 은닉하기 위해 사용한다. 따라서 클래스 내의 멤버 변수는 private으로 선언되고, 이러한 멤버변수에 접근하기 위해 Getter, Setter를 사용하여 각 변..

WEB/Spring 2023.05.16

[Spring]스프링 배치(Batch)란?

📌스프링 배치(Batch)란? 스프링 배치란 대규모 시스템의 운영에 있어 엄청난 양의 데이터를 일괄처리할 수 있도록 도와주는 프레임워크이다. 이름 그대로 스프링 배치(Batch)이기 때문에 Spring과 같은 특성을 띤다. 일별, 월별로 대용량의 데이터를 처리해야 하는 규모 있는 엔터프라이즈 시스템을 운영하기 위해 스프링 배치를 자주 사용한다. 📌스프링 배치(Batch)의 특징 배치는 즉, 일괄처리라는 뜻을 가지고 있기 때문에 지정한 스케줄러에 의해 정해진 시간에 맞춰 수행한다. 로킹/추적, 트랜잭션 관리, 통계 등 처리해야 할 대용량의 데이터의 처리를 위해 필요한 기능을 제공한다. 배치 수행 도 중, 예기치 못한 에러 발생 시 롤백 없이, 그다음 일을 수행한다. 수행에 성공한 Batch는 중복으로 또 ..

WEB/Spring 2023.02.20

[Spring]DI와 Autowired 확실히 알고 사용하기

📌Autowired 확실히 알고 사용하기 Spring으로 개발을 하면서 수도 없이 작성하는 어노테이션 중 하나인 @Autowired이 있다. 사실 정확한 동작 원리를 알고 쓴다기보단 습관처럼 선언하고 사용했기에 이번 포스팅을 통해 정확히 정리하고 넘어가려고 한다. 우선 Spring Framework의 큰 특징인 DI(Dependency Injection)에 대해 간단하게 알아보자. 📌DI(Dependency Injection) DI(Dependency Injection)은 다른 Framework에서는 볼 수 없는 Spring에서 제공하는 의존 관계 주입 기능을 말한다. 즉, 필요할 때마다 객체를 생성해서 사용하는 것이 아닌 미리 생성 후 필요한 부분에 주입하여 사용할 수 있다. 이러한 기능을 사용하면 결..

WEB/Spring 2023.01.31

[Spring]DTO와 VO의 모호한 사용, 확실하게 사용하기

개발을 하면서 데이터를 담을 객체로 DTO와 VO를 사용하게 됩니다. DTO와 VO에 대한 이론적인 차이는 알고 있었지만, 스스로 조차 혼용해서 사용하고 있었고 확실하게 용도에 맞게 사용하는 것이 맞다고 생각하여 이번 포스팅에서 정리하려고 합니다. DTO(Data Transfer Object)란? DTO는 Layer 간 데이터 전송을 목적으로 하는 객체이다. 오로지 getter, setter 메서드만 가지고 있으며, 애초에 전송 목적을 위한 객체이기 때문에 이외에 메서드는 가질 수 없다. public class TestDto { private String name; public String getName() { return name; } public void setName(String name) { th..

WEB/Spring 2023.01.30

[Spring]@Controller VS @RestController

@Controller VS @RestController 전통적인 Spring Framework의 대한 컨트롤로의 대한 선언으로 @Controller를 사용해 왔습니다. 하지만 좀 더 Restful 한 웹 서비스를 기대하면서 Spring 4 이후에 @RestController라는 새로운 어노테이션이 등장하였습니다. 이번 포스팅에서는 이 두 개의 어노테이션에 차이를 알아보도록 하겠습니다. @Controller VS @RestController 비교하기 @Controller @ResponseBody public class Controller { } @RestController public class RestController { } 위의 두 개의 컨트롤러의 기능은 동일합니다. 이와 같이 @RestControl..

WEB/Spring 2023.01.30

[Spring]@RequestBody와 @RequestParam 비교하여 이해하기

2023.01.25 - [WEB/Spring] - [Spring]@RequestParam의 파라미터 사용의 이해 [Spring]@RequestParam의 파라미터 사용의 이해 @RequestParam 클라이언트에서 서버로의 요청 시에 HTTP 요청 파라미터를 컨트롤러 메소드의 파라미터로 전달받을 때 사용된다. 클라이언트가 전달하는 쿼리 변수를 1:1로 매핑해준다. @RequestParam 단 mooonstar.tistory.com 2022.12.26 - [Network] - [Network]REST, REST API [Network]REST, REST API ❓REST란? “Representational State Transfer”의 약자로 자원의 표현으로 구분하여 해당 자원의 정보를 주고받는 방식을 의..

WEB/Spring 2023.01.27

[Spring]@RequestParam의 파라미터 사용의 이해

클라이언트에서 서보로의 요청 시에 HTTP 요청 파라미터를 컨트롤러 메서드의 파라미터로 전달받을 때 사용되는 어노테이션인 @RequestParam에 대해 알아보자. @RequestParam 사용법 @Controller @RequestMapping("/test") public class TestController { @GetMapping("/RequestParam") public String(@RequestParam String param) { return param; } } 위와 같은 방법으로 클라이언트에서 전달받은 파라미터를 param으로 받을 수 있다. 포스트맨을 사용하여 직접 테스트해 보도록 하자. 클라이언트가 보낸 Key = Value 형태의 쿼리 변수에 따라 param에는 사용자가 입력한 par..

WEB/Spring 2023.01.25