목록STUDY/JAVA | SPRING (14)
Developer N
gradle 프로젝트 작업중 한 라이브러리를 추가해야하는 일이 생겼다. 보통은 라이브러리를 가져오는 repository가 기본으로 Maven Repository를 바라보기 때문에 Maven Repository 사이트에서 라이브러리를 찾아 build.gradle에 의존성을 추가하려고 했으나, 추가가 되지 않는 이슈가 발생했다. 하는수없이 직접 jar 파일을 받아 프로젝트에 추가해주려고 했다. 처음에 한 방법은 intelliJ에서 File - Project Structure 에서 Libraries 탭에 jar를 추가해주는 것이었으나, 이조차도 안됨. 그래서 다시 구글링을 통해 로컬 라이브러리를 gradle에 직접 추가하는 방법을 찾아 성공했다. 까먹지 않기 위해 그 내용을 아래에 정리해보겠다. 1. 프로젝..
JSON(JavaScript Object Notation)이란 JavaScript에서 객체를 표현하는 방법. 다양한 프로그래밍 언어에서 데이터를 주고받기위해 사용한다. XML 등과 같이 데이터를 표현하는 일종의 데이터 표현 표준이다. 장점 1) 가독성 : 객체의 구조를 파악하기 쉽다 2) 가벼움 : JSON 이전에 사용하던 XML에 비해 가볍다 3) 플랫폼 독립적 : 특정 언어나 플랫폼에 독립적이어서 JSON 형식만 잘 지킨다면 어떤 시스템이든 데이터 교환이 가능하다. 또한 대부분의 언어에서 JSON 라이브러리를 제공하기 때문에 편리하다. JSONObject, JSONArray 사용법 1) JSONObject JSONObject는 객체를 JSON 객체로 바꿔주거나 JSON 객체를 새로 만드는 역할을 한다..
api로 가져온 List에서 각 Object의 특정 필드값만 따로 추출할 필요가 있었다. for문을 사용하여 각 객체에서 get을 통해 필드 값을 추출하는 방법도 있었지만, 자바8에서 새로 추가된 기능인 strem()을 활용하여 코드를 간결하게 작성해보았다. 간단한 예제로 정리를 해보자면 @Getter public class PersonDto { private String name; private Integer age; } 위와 같은 객체로 이루어진 List personList에서 stream()을 이용하여 name 값만 추출하여 List으로 만들어보자. List nameList = personList.stream().map(PersonDto::getName).collect(Collectors.toLis..
db에서 받아온 문자열 값을 특정 길이만큼 잘라서 줄바꿈을 해야하는 경우가 생겼다. 예를 들면 문자열 "가나다라마바사아자차카타파하"을 고정길이 4로 설정하여 자를 경우 아래처럼 4개의 요소로 분할된다. 가나다라/마바사아/자차카타/파하 이처럼 Java에서 특정 길이만큼 문자열을 분할하는 방법을 알아보자. 1. String 클래스의 substring 메서드 String title = "가나다라마바사아자차카타파하"; int maxLen = 4; int arraySize = (int) Math.ceil((double)title.length() / maxLen); String[] titleArray = new String[arraySize]; int index = 0; for(int startIndex = 0; ..
List x.containsKey("원하는 Key값").map(m -> m.get("원하는 Key값").toString()).collect(Collectors.toList()); mapList를 stream 반복자로 필요한 값들만 List에 담는 방법이다. stream이란 Iterator와 비슷한 역할을 하지만 람다식으로 요소 처리 코드를 제공해 코드가 좀 더 간결하다는 장점이 있다. 또한 내부반복자를 사용하기 때문에 병렬처리가 쉽고 실행이 더 빠르다. filter는 요소를 특정 기준으로 걸러낼 수 있다.filter() 안의 조건이 참이라면 true 거짓이라면 falst로, true일 경우 다음으로 계속 진행된다. 여기서는 containsKey()를 사용하여 mapList에서 해당 키값이 존재하는지를 알..