[회사일] 초간단 계층형 아키텍처 만들기
Code 라는 도메인이 있다. Item에서 사용할 색, 사이즈, 제품 성별 등을 이 '코드'라는 걸로 관리할 생각인데 그걸 대편하는 도메인이 Code다.
1. 도메인 클래스 만들기
@Entity
public class Code {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(length = 50)
private String name;
@Column(length = 50)
private String code;
@Column
@Type(type = "text")
private String descr;
...
}
2. JPA 애노테이션을 사용해서 매핑 정보를 입력했다. CodeDao 인터페이스를 만든다.
public interface CodeDao {
List<Code> list();
}
3. 구현체를 만든다.
@Repository
public class CodeDaoImpl implements CodeDao {
@Autowired SessionFactory sessionFactory;
public List<Code> list() {
return getCriteriaOf(Code.class).list();
}
}
4. CodeService 인터페이스를 만든다.
public interface CodeService {
List<Code> list();
}
5. 구현체를 만든다.
@Service
@Transactional
public class CodeServiceImpl implements CodeService{
@Autowired CodeDao codeDao;
public List<Code> list() {
return codeDao.list();
}
}
6. CodeController를 만든다.
@Controller
@RequestMapping("/base/code/*")
public class CodeController {
@Autowired CodeService codeService;
@RequestMapping
public void list() {
}
}
7. web/WEB-INF/views/base/code/list.jsp 파일을 만든다.
생략
그리고 화면에서 확인한다.
아주 지겹게 써먹고 있는 아키텍처인데 사실 아직도 잘 못하고 있다.
코드 제위치 잡아 주는게 쉬운 일이 아니다.
이번엔 잘 해보자.