StringBuilder 클래스를 사용하려고 하다보니 생기는 궁금증 StringBuilder str = new StringBuilder(); 여기서 str에 append()로 문자열을 추가할 수 있는데 str.append("안녕하세요."); str에 아무 문자열을 추가하지 않으면 str은 null일까? 빈 문자열일까? StringBuilder str = new StringBuilder(); if (str == null) { System.out.println("str == null"); } if (str.toString().equals("")) { System.out.println("str == ''"); } 콘솔에 프린트되는 문자는 아래와 같았다. str == ''
이전 팀에선 ID 값을 만들 때 UUID를 사용했었는데 현재 팀에서는 RandomStringUtils를 사용하여 랜덤 값을 만든다. RandomStringUtils.random(15); // ꡘ졍Z暫慆蕈슋ᕘ㣬㼉䆡뙯䘍 기본 값으로 문자 길이만 파라미터 값으로 넘겨주면 문자가 깨진다. 이럴 땐 파라미터 값으로 추가적인 설정을 해주면 해결된다. RandomStringUtils.random(int count, boolean letters, boolean numbers); 파라미터로 여러 개의 설정이 가능하지만 중요한 세 가지 요소만 사용했다. count : 문자 길이 letters : 문자로 생성 numbers : 숫자로 생성 결과 : letters만 true RandomStringUtils.random(1..
이전에는 ajax로 restful api를 사용하면서 form을 사용하진 않았지만 서블릿으로 작업되어진 레거시 환경에서는 사용할 수밖에 없는 경우가 있다. 문제는 JSP에서 Controller로 Date 타입의 데이터를 넘기는데 에러가 났다. 해결 방법은 아래와 같이 Datatime의 포맷을 알맞게 지정해주면 바로 바인딩 된다. public class VO { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date startAt; @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date endedAt; } (참고 : gdtbgl93.tistory.com/106)
Spring Cloud Config 기능 중 하나인 @RefreshScope 는 config 파일의 데이터가 변경되면 서버를 재실행 해주는 기능이다. @RefreshScope 를 사용하기 위해서는 build.gradle 소스에 Spring CLoud Config 설정과 maven 설정이 필요하다. ext { set('springCloudVersion', "Hoxton.SR3") set('mavenUser', "jane") set('mavenPassword', "jane_2020") set('nexusRepo', "https://nexus.gyurida.shop/repository") } repositories { mavenCentral() maven { url "$nexusRepo/maven-releas..