본문 바로가기

Programing78

Method 주석에 @SQL은 무엇일까? DocletSqlMapClientFactoryBean이란? ibatis를 사용하면 보통 xml에 SQL을 작성하거나 아니면 JPA처럼 ORM을 사용한다. 그런데 코드 분석 중 메서드 주석에 @SQL 구문을 발견하였다. /** * @SQL SELECT * FROM USER ]]> */ public List listUser(Map param) { //... } 처음에는 단순 주석인 줄 알았다.(가끔은 DAO 메서드에서 실행되는 SQL을 찾아 가기가 귀찮을 때가 있기 때문에… 물론 IDE plugin들이 많아서 그 귀찮음이 많이 없어지긴 했지만 말이다.) 단순 주석은 아닌 것 같아서 SqlMap 설정을 살펴 보았다. 눈에 띄는 것이 DocletSqlMapClientFactoryBean 이다. @Bean(name = "sqlMapClientFactoryBean") pu.. 2017. 5. 29.
무작정 go 언어 시작하기(Hello Go) 프로그래밍 언어를 배울 때 무작정 따라하기 샘플로 Hello World를 출력해 보는 프로그램을 많이 작성해 본다. Go 언어로 Hello World를 출력해 보자. Go 언어를 사용하기 위한 환경 정보는 아래와 같다. Go: 1.8.1 (https://golang.org/dl/) Intellij: golang ide (https://www.jetbrains.com/go/?fromMenu) PC: Mac 다운로드 후 패키지 설치를 하면 된다. 간단하다. 설치 후 hello.go를 작성해 보자. 프로젝트 디렉토리 구조는 아래와 같다. 다음은 hello.go 파일의 내용이다. package main import "fmt" func main() { fmt.Println("hello world") } IDE(I.. 2017. 5. 16.
상속 구조의 모델 객체에서 Lombok의 @Builder, @Delegate 사용기 아래 글은 Lombok 1.16.16 기반에서 작성되었다. Lombok에서 @Builder를 사용하다 보니 상속 구조에서 불필요한 코드를 작성해야 하는 경우가 있었다. 예를 들어 아래와 같이 두 모델 객체가 있다고 하자. @Data @AllArgsConstructor public class User { protected String id; protected String name; } @Data public class AdminUser extends User { private String roleId; private String roleName; @Builder public AdminUser(String id, String name, String roleId, String roleName) { super(.. 2017. 4. 21.
Lombok @Builder 사용시 기본값 지정하기 Lombok이 무엇인지 간단히 살펴보고 넘어가자. 어떻게 프로젝트에 적용하는지는 언급하지 않는다. 검색을 통해서 알아보자. 가장 기본적인 기능으로 Lombok은 getter/setter method를 만들어 준다. 예를 들어 아래와 같이 User라는 모델 객체가 있다고 가정하자. public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } @.. 2017. 4. 12.