[Java] StringUtils의 hasLength()와 hasText()
·
Language/Java
프로젝트 진행 중 intellij에서 StringUtils.isEmpty()를 사용하는 곳에 노란색 경고와 hasLength(String)나 hasText(String)를 대신 사용하라는 메시지가 나와서 두 메서드의 차이점을 찾아봤다.StringUtils스프링 프레임워크에서 제공하는 문자열 처리 유틸리티 클래스org.springframework.util 패키지에 포함되어 있으며, 문자열 검사, 변환, 조작, 비교 등의 문자열 처리 관련 메서드를 가진 유틸리티 클래스이다.isEmpty()는 5.3 버전부터 deperecated되기 때문에 hasLength()나 hasText() 사용을 권장한다.두 메서드는 비슷한 역할을 하지만 코드를 보면 차이점이 있다.빈 문자열인지 확인이 필요할 경우 hasText()를..
[Java]lombok 적용
·
Language/Java
[Java]lombok 적용 lombok 적용DTO를 작성할 때 일일히 Getter, Setter, ToString을 생성하기 귀찮다. 물론 IDE에서 자동으로 코드 생성이 가능하긴 하지만 멤버 변수가 바뀔 경우 다시 코드를 생성해야한다. 이런 불편함을 해소해주는 것이 lombok이다. @Getter, @Setter 같이 어노테이션만 추가해 주면 자동으로 Getter, Setter 생성이 된다.dependency 추가 org.projectlombok lombok 1.18.2 provided 이렇게 의존성만 추가해서는 어노테이션 적용이 되지 않는다. IDE에 추가 설치가 필요하다.설치된 경로 C:\Users\USER\.m2\repository\org\projectlombok\lombok\1.18.2에 가서..
AutoCloseable
·
Language/Java
[Java]Autoclosable java6 이전까지는 close 메서드를 호출하여 안전하게 리소스를 닫아주어야 했다.​x//JAVA6 이전 ...Class.forName("com.mysql.jdbc");try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(jdbcUrl, urerId, passWord); ps = conn.prepareStatement(sql);​ //.....​} catch (SQLException e) { e.printStackTrace();} finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStac..
[Java]Class.forName
·
Language/Java
[Java]Class.forName Class.forNameJDBC 드라이버를 로드하는 코드를 보면 Class.forName을 사용하는 것을 볼 수 있다. 이 Class.forName의 의미는 무엇일까?Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection();코드를 살펴보면 리턴값을 받지도 않고 DriverManager의 getConnection메서드를 바로 사용할 수 있다. 또 forName의 인자로 패키지의 경로가 설정된 것을 볼 수 있다. 왜 이렇게 구현한 것일까? 각 JDBC마다 드라이버와 Connection의 구현은 다를 것이다. 각 DBMS마다 다른 API를 사용하여 DB에 연결할 경우 DBMS를..