본문 바로가기

Programming/Java & JSP & Spring

(76)
[Java] 배열 생성과 초기화 자바에서 배열을 생성하고 초기화하는 방법에는 몇 가지 방법이 존재한다.일단 흔히 쓰이는 일반적인 방법은 다음과 같다.int[] arrayint = new int[10];위와 같은 방법으로 배열을 생성하면 자동으로 0으로 채워진 길이가 10인 배열을 생성한다. 0이 아닌 직접 값을 입력하여 초기화할 수 있다.int[] arrayint = new int[]{1, 2, 3, 4, 5, 6, 7,};위와 같은 방법으로 배열을 생성할 경우에는 배열의 길이를 지정하지 않아도 된다. 위와 같이 배열을 생성할 경우 굳이 new를 쓰지 않는 방법도 있다. int[] arrayint = {1, 2, 3, 4, 5, 6, 7,};
[Java] 자주 쓰이는 형변환 자바에서 형변환은 변환하는 방식이 다양해 자주 까먹는다.그러므로 자주 쓰이는 형변환은 정리해놓는 것이 좋다. 1. int >> StringString str = Integer.toString(i); // or String str1 = "" + i;2. String >> intint i = Integer.parseInt(str); // or int j = Integer.valueOf(str).intValue();3. int >> charchar c = (char) i;4. char >> intint i = (int) c;5. String >> char[]char[] charlist = str.toCharArray();6. char[] >> StringString str = ""; String str1 = ..
[Spring Boot] JPA UPDATE JPA 에서는 UPDATE를 따로 지원해주지 않으므로 직접 쿼리 작성을 해야한다. 주의할 점은 쿼리문 위에 @Modifying 애노테이션을 붙여줘야한다는 점이다.@Modifying @Query("UPDATE user SET inquiry = inquiry + 1 WHERE userId = :userId") void updateInquiry(@Param("userId") Long userId); 하지만 위와 같이 작성했음에도 불구하고 오류가 나는 경우가 있다. 또 한가지 주의할 점은 대소문자에 주의해야한다.쿼리에서 테이블 명을 쓸 때는 해당 테이블과 매핑된 도메인의 클래스 명을 사용해야 한다. 예를 들어, user테이블과 매핑된 클래스(@Table(name="user")와 매핑된 클래스)가 User.jav..
[JSON] KEY 값 추출해서 사용하기 JSON 값을 받아서 파싱을 해야하는데 KEY 값을 모르는 경우가 있을 수 있다.KEY값 추출은 JSONObject 안의 개수가 때마다 일정하지 않을 때 주로 사용된다. 다음과 같은 json 데이터를 받는다고 가정해보자 {"fruit": {"apple": "500원","banana": "200원","watermelon": "300원","peach": "350원","strawberry": "50원","orange": "200원"}} 과일 이름으로 된 key값을 받아오려면 keys() 메소드와 Iterator 반복자를 사용해서한번에 받아올 수 있다. try { JSONObject jsonObject = new JSONObject(fruitList); String fruitValue = jsonObject.g..
[Java] String, Date 타입 간의 변환 String 》》 DateDateFormat sdFormat = new SimpleDateFormat("yyyyMMdd"); Date tempDate = sdFormat.parse("20170817"); ※ 주의할 점 : 포맷 타입에 맞게 String 데이터가 입력되어야 파싱이 된다. Date 》》 StringDateFormat sdFormat = new SimpleDateFormat("yyyyMMdd"); Date nowDate = new Date(); String tempDate = sdFormat.format(nowDate); ※ 주의할 점 : 포맷 형식대로 리턴된다. ※ 출처 : http://sdw8001.tistory.com/130
[Spring] 예외처리 Exception Handling in Spring MVC(원문소스: HTTPS://SPRING.IO/BLOG/2013/11/01/EXCEPTION-HANDLING-IN-SPRING-MVC)Spring MVC는 예외처리를 위한 몇가지 훌륭한 접근법을 제공해주지만 Spring MVC를 가르칠때 학생들이 종종 헷갈려하거나 불편해한다는 것을 알았다.이 글에서 이를 위해 사용가능한 다양한 옵션을 보여줄 것이다. 우리의 목표는 가능한한 컨트롤러 메소드에서 명시적으로 예외처리를 하지 않는 것이다. 이들의 횡단관심사cross-cutting concern는 전용코드에서 별도로 처리하는 더 나은 방식을 제공해준다.3가지 옵션이 있다: 예외별, 컨트롤러별, 전역별 per exception, per controller or..
[SpringBoot] 프로퍼티 이용하기 스프링부트가 자동으로 구성하는 빈들은 세부적인 부분을 조정할 수 있도록 300개가 넘는프로퍼티를 제공한다. 프로퍼티를 살펴보기 전에 먼저 아주 간단한 예제를 하나 살펴보자.애플리케이션을 실행할 때 스프링부트가 아스키아트 배너를 띄우는 것을 본 적이 있을 것이다.이 배너를 숨기고 싶다면 다음과 같이 지정해주면 된다. application.properties 파일을 생성하는 방법spring.main.show-banner=falseapplication.yml로 YAML파일을 생성하는 방법spring:main:show-banner: false※ 이 때, 들여쓰기를 안해주면 에러가 발생하는 것에 주의하자! 위의 방법말고도 스프링 부트 애플리케이션에 프로퍼티를 설정하는 방법은 여러가지다. 자동 구성 미세하게 조정앞..
[SpringBoot] 스타터 의존성 사용하기 스프링부트는 복잡한 프로젝트 의존성을 '스타터(Starter)' 의존성 수십 개로 해결한다.그저 프로젝트에 필요한 기능들을 빌드에 선언을 하기만 하면, 그에 필요한 개별 라이브러리들을자동으로 추가해준다. 스타터 의존성을 사용안한다고 생각해보자. 그렇다면 스타터 의존성의 장점을 바로 알 수 있을 것이다.스프링 부트 없이 빌드하려면 어떤 의존성을 추가해야 할까? 스프링 MVC를 지원하려면 어떤의존성들이 필요할까? 어떤 버전을 사용해야 잘 호환이 될까? 이렇듯 이미 코드 첫줄을 작성하기도 전에 빌드 명세에 어떤 것을 추가하여 기능을 만들어야 할지많은 고민해야 한다. 이러한 많은 고민 끝에 그레이들 빌드 명세에 다음 의존성을 추가했다고 가정해보자.compile('org.springframework:spring-..