Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

실제로 일어나는 일은 다음과 같습니다. 문자열 표현식이 ${...} 을 포함하고 있으면 보통의 java.lang.String 인스턴스가 아닌 GString 인스턴스가 생성됩니다. GString 인스턴스는 문자열 자체와 그 문자열 내부에 포함된 수식에서 쓰이는 값을 보관하고 있습니다. GString은 지연된 평가(lazy evaluation)를 사용하기 때문에 toString()이 호출되기 전까지는 GString이 평가되지 않습니다. 이러한 지연된 평가는 로깅 등에서 특히 유용합니다.

GString의 또다른 활용예는 GroovySqlGroovySql1

link
Wiki Markup
{link:GroovySql|sql.html}{link}
입니다. GroovySql 에서는 이 방식을 이용하여 인자를 SQL에 전달할 수 있습니다. GroovySql은 GString 내부의 표현식을 ?로 바꾸고 JDBC PreparedStatement를 이용하여 값들을 전달합니다.

...