- org.apache.commons.lang.builder.ToStringBuilder

toString()은 현 객체의 값을 문자열로 변환하여 반환 해주는 메소드로써 직접 구현할려면 노가다성 코드입니다.

하지만 Commons의 ToStringBuilder를 사용하면 는 말 그대로 클래스의 toString()을 쉽게 만들 수 있습니다.

웹에서는 빈클래스등에 toString을 구현하면 쉽게 디벙깅을 할 수 있습니다.

예제

ToStringTest.java

public class ToStringTest {


    public static void main(String args[]) {

        TestClass test = new TestClass();
        System.out.println(test.toString());
    }

}


TestClass.java

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;


public class TestClass {


    private String boardId;
    private int boardNo;


    public TestClass() {}


    public String toString() {
        return ToStringBuilder.reflectionToString(this);

    }


}


(1) refrectionToString 함수


public String toString() {
    return ToStringBuilder.reflectionToString(this);

}


reflectionToString은 static함수로써 위와같이 사용하며 파라미터로 스타일을 지정할 수 있습니다. 아래 코드를 봅시다

방법 ①

public String toString() {

    return ToStringBuilder.reflectionToString(this);

}


출력 결과

TestClass@1cd2e5f[boardId=<null>,boardNo=0]


방법 ②

public String toString() {

    return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);

}


출력 결과

TestClass@1cd2e5f[boardId=<null>,boardNo=0]


방법 ③

public String toString() {

    return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);

}


출력 결과

TestClass@1cd2e5f[
  boardId=<null>
  boardNo=0
]


방법 ④

public String toString() {

    return ToStringBuilder.reflectionToString(this, ToStringStyle.NO_FIELD_NAMES_STYLE);

}


출력 결과

TestClass@1cd2e5f[<null>,0]


방법 ⑤

public String toString() {

    return ToStringBuilder.reflectionToString(this, ToStringStyle.SIMPLE_STYLE);

}


출력 결과

<null>,0


(2) append 함수

append 메소드는 static이 아니며 다음과 같은 형식으로 사용 가능합니다.


public String toString() {

    return new ToStringBuilder(this).append("boardId", boardId).append("boardNo", boardNo).toString();

}


출력 결과
TestClass@1cd2e5f[boardId=<null>,boardNo=0]

=============================================
본문서는 자유롭게 배포/복사 할수 있지만
이문서의 저자에 대한 언급을 삭제하시면 안됩니다
저자 : GoodBug (unicorn@jakartaproject.com)
최초 : http://www.jakartaproject.com 
=============================================

'Program > Java' 카테고리의 다른 글

XML 파싱  (0) 2010.01.27
annotation API 한글  (0) 2009.12.27
애노테이션 기반 스케줄링  (0) 2009.12.27
스프링 3.0의 MVC 간편화  (0) 2009.12.27
어노테이션을 이용한 설정1 - context:annotation-config  (0) 2009.12.27

내가 서울에 와서 많은 눈을 보긴했지만 오늘 같이 이렇게 심한 눈은 처음이다.


온 세상이 눈 밖에 안보이고..
출근길에 찍는 사진이지만..
아무래도 정시에 출근은 힘들 듯...


좀 심히 과하게 왔다...
내가 눈을 좋아하긴 하지만..
이거 오겡끼데스까~~~ 연발해야할 듯... ㅋㅋ

'Story > Diary' 카테고리의 다른 글

지씨 페밀리  (0) 2010.01.22
셜록홈즈  (0) 2010.01.16
[Movie]닌자 어쌔신  (0) 2009.12.31
[Movie]지아이조  (0) 2009.12.30
[Movie]해운대  (0) 2009.12.30

비가 열심히 찍었다는 닌자를 또 봐줘야지..
뭐 자기도 그랬듯.. 내용은 정말이지.. 없었다. ㅋㅋ

비의 몸과 액션 정도?
그래도 내용은 정말로...
여자 아이 하나 때문에 닌자 하나의 뿌리를 모두 없앤다는 내용? ㅋ

잔인한 장면도 많고..
그래도 뭐.. 그냥 저냥..

근데.. 얘가 왜 일케 불쌍해 보이는거야? ㅡㅡ;

주말 밤 12시에 봤음에도 불구하고 거의 매진이였다는.. ㅋㅋ
좌석에 빈자리가 거의 없더라고~~ ㅎ

'Story > Diary' 카테고리의 다른 글

셜록홈즈  (0) 2010.01.16
보다보다 이런 눈은 첨일쎄~  (0) 2010.01.04
[Movie]지아이조  (0) 2009.12.30
[Movie]해운대  (0) 2009.12.30
[Movie]트랜스포머: 패자의 역습  (0) 2009.12.30
서비스에 관련된 윈도우 명령은 "sc" 입니다.
도스커맨드 프롬프트(시작->실행->"cmd" 입력하고 확인)에서 "sc"입력하면 다음과 같은
도움말이 출력됩니다.
======================================================================================

설명:
SC는 서비스 제어 관리자 및 서비스와의 통신에 사용되는
명령줄 프로그램입니다.
사용법:
sc <서버> [명령어] [서비스 이름] <옵션1> <옵션2>...


<서버> 옵션의 형식은 "\\ServerName"입니다.
명령어에 대한 자세한 도움말은 다음을 입력하십시오: "sc [명령어]"
명령어:
query-----------서비스 상태를 쿼리하거나 서비스 종류의
상태를 열거합니다.
queryex---------서비스의 확장 상태를 쿼리하거나 서비스
종류의 상태를 열거합니다.
start-----------서비스를 시작합니다.
pause-----------서비스에게 PAUSE 제어 요청을 보냅니다.
interrogate-----서비스에게 INTERROGATE 제어 요청을 보냅니다.
continue--------서비스에게 CONTINUE 제어 요청을 보냅니다.
stop------------서비스에게 STOP 요청을 보냅니다.
config----------서비스 구성을 변경합니다 (지속적).
description-----서비스 설명을 변경합니다.
failure---------서비스가 실패했을 때 행할 동작을 변경합니다.
qc--------------서비스의 구성 정보를 쿼리합니다.
qdescription----서비스 설명을 쿼리합니다.
qfailure--------서비스가 실패했을 때 행할 동작을 쿼리합니다.
delete----------서비스를 (레지스트리에서) 삭제합니다.
create----------서비스를 만듭니다. (레지스트리에 추가).
control---------서비스에게 제어를 보냅니다.
sdshow----------서비스의 보안 설명자를 표시합니다.
sdset-----------서비스의 보안 설명자를 설정합니다.
GetDisplayName--서비스의 DisplayName을 가져옵니다.
GetKeyName------서비스의 ServiceKeyName을 가져옵니다.
EnumDepend------서비스 종속성을 열거합니다.

다음 명령어에는 서비스 이름이 필요 없습니다:
sc <서버> <명령어> <옵션>
boot------------(ok | bad) 마지막 부팅을 마지막으로 성공한 부팅
구성에 저장할 지 나타냅니다.
Lock------------서비스 데이터베이스를 잠급니다.
QueryLock-------SCManager 데이터베이스의 잠금 상태를 쿼리합니다
예:
sc start MyService

QUERY와 QUERYEX 명령 도움말을 보시겠습니까? [y|n]:
y

QUERY 및 QUERYEX 옵션:
쿼리 명령어 뒤에 서비스 이름이 오면, 해당 서비스의
상태가 반환됩니다. 이 경우 다른 옵션은 적용되지
않습니다. 쿼리 명령어 뒤에 아무 것도 오지 않거나
아래 나열된 옵션 중의 하나가 오면, 서비스가 열거됩니다.
type= 열거할 서비스 종류 (driver, service, all)
(기본값 = service)
state= 열거할 서비스 상태 (inactive, all)
(기본값 = active)\n"
bufsize= 열거할 버퍼 크기 (바이트)
(기본값 = 4096)
ri= 열거하기 시작할 계속 인덱스 번호\n"
(기본값 = 0)
group= 열거할 서비스 그룹
(기본값 = all groups)

구문 예제
sc query - 활성 서비스 및 드라이버의 상태 열거
sc query messenger - 메신저 서비스의 상태 표시
sc queryex messenger - 메신저 서비스의 확장 상태 표시
sc query type= driver - 활성 드라이버만 열거
sc query type= service - Win32 서비스만 열거
sc query state= all - 모든 서비스 및 드라이버 열거
sc query bufsize= 50 - 50바이트 버퍼로 열거
sc query ri= 14 - 계속 인덱스 = 14로 열거
sc queryex group= \"\" - 그룹에 없는 활성 서비스 열거
sc query type= service type= interact - 모든 인터랙티브 서비스 열거
sc query type= driver group= NDIS - 모든 NDIS 드라이버 열거
======================================================================================

이 "sc" 명령으로 서비스를 시작/중단/삭제 및 관련 기타 작업을 하실 수 있습니다.

저같은 경우엔 오라클9가 설치되면서 등록된 OracleTNSListener 서비스가 실제로 파일은 삭제되었는데, 서비스 항목에서 삭제가 되지 않아 다음과 같이 실행하여 서비스 항목에서 제거하였습니다.

> sc delete OracleTNSListener

'Etc > Scrap' 카테고리의 다른 글

준비된 행운  (1) 2010.02.19
작은 일을 잘 하는 사람  (1) 2010.02.18
경영자와 선우후락(先憂後樂)  (1) 2010.02.04
노력 없는 행복을 경계하라  (0) 2010.02.04
'누구와 먹느냐'  (1) 2010.02.04

+ Recent posts