https://okky.kr/article/229815
전자정부프레임워크 예제 소스입니다
하나하나 주석달아주셔서.. 많은 후배들이 보고 공부할수있게 도움주실분
작게나마 사례의 표시로 햄버거밖에 못보냅니다ㅠㅠ 아직 수습이네요 흑
EgovSampleController.java
@Controller
@SessionAttributes(types=SampleVO.class)
public class EgovSampleController {
/** EgovSampleService */
@Resource(name = "sampleService")
private EgovSampleService sampleService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** Validator */
@Resource(name = "beanValidator")
protected DefaultBeanValidator beanValidator;
/**
* 글 목록을 조회한다. (pageing)
* @param searchVO - 조회할 정보가 담긴 SampleDefaultVO
* @param model
* @return "/sample/egovSampleList"
* @exception Exception
*/
@RequestMapping(value="/sample/egovSampleList.do")
public String selectSampleList(@ModelAttribute("searchVO") SampleDefaultVO searchVO,
ModelMap model)
throws Exception {
/** EgovPropertyService.sample */
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing setting */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
paginationInfo.setPageSize(searchVO.getPageSize());
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List sampleList = sampleService.selectSampleList(searchVO);
model.addAttribute("resultList", sampleList);
int totCnt = sampleService.selectSampleListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "/sample/egovSampleList";
}
/**
* 글을 조회한다.
* @param sampleVO - 조회할 정보가 담긴 VO
* @param searchVO - 목록 조회조건 정보가 담긴 VO
* @param status
* @return @ModelAttribute("sampleVO") - 조회한 정보
* @exception Exception
*/
@RequestMapping("/sample/selectSample.do")
public @ModelAttribute("sampleVO")
SampleVO selectSample(
SampleVO sampleVO,
@ModelAttribute("searchVO") SampleDefaultVO searchVO) throws Exception {
return sampleService.selectSample(sampleVO);
}
/**
* 글 등록 화면을 조회한다.
* @param searchVO - 목록 조회조건 정보가 담긴 VO
* @param model
* @return "/sample/egovSampleRegister"
* @exception Exception
*/
@RequestMapping("/sample/addSampleView.do")
public String addSampleView(
@ModelAttribute("searchVO") SampleDefaultVO searchVO, Model model)
throws Exception {
model.addAttribute("sampleVO", new SampleVO());
return "/sample/egovSampleRegister";
}
/**
* 글을 등록한다.
* @param sampleVO - 등록할 정보가 담긴 VO
* @param searchVO - 목록 조회조건 정보가 담긴 VO
* @param status
* @return "forward:/sample/egovSampleList.do"
* @exception Exception
*/
@RequestMapping("/sample/addSample.do")
public String addSample(
@ModelAttribute("searchVO") SampleDefaultVO searchVO,
SampleVO sampleVO,
BindingResult bindingResult, Model model, SessionStatus status)
throws Exception {
// Server-Side Validation
beanValidator.validate(sampleVO, bindingResult);
if (bindingResult.hasErrors()) {
model.addAttribute("sampleVO", sampleVO);
return "/sample/egovSampleRegister";
}
sampleService.insertSample(sampleVO);
status.setComplete();
return "forward:/sample/egovSampleList.do";
}
/**
* 글 수정화면을 조회한다.
* @param id - 수정할 글 id
* @param searchVO - 목록 조회조건 정보가 담긴 VO
* @param model
* @return "/sample/egovSampleRegister"
* @exception Exception
*/
@RequestMapping("/sample/updateSampleView.do")
public String updateSampleView(
@RequestParam("selectedId") String id ,
@ModelAttribute("searchVO") SampleDefaultVO searchVO, Model model)
throws Exception {
SampleVO sampleVO = new SampleVO();
sampleVO.setId(id);
// 변수명은 CoC 에 따라 sampleVO
model.addAttribute(selectSample(sampleVO, searchVO));
return "/sample/egovSampleRegister";
}
/**
* 글을 수정한다.
* @param sampleVO - 수정할 정보가 담긴 VO
* @param searchVO - 목록 조회조건 정보가 담긴 VO
* @param status
* @return "forward:/sample/egovSampleList.do"
* @exception Exception
*/
@RequestMapping("/sample/updateSample.do")
public String updateSample(
@ModelAttribute("searchVO") SampleDefaultVO searchVO,
SampleVO sampleVO,
BindingResult bindingResult, Model model, SessionStatus status)
throws Exception {
beanValidator.validate(sampleVO, bindingResult);
if (bindingResult.hasErrors()) {
model.addAttribute("sampleVO", sampleVO);
return "/sample/egovSampleRegister";
}
sampleService.updateSample(sampleVO);
status.setComplete();
return "forward:/sample/egovSampleList.do";
}
/**
* 글을 삭제한다.
* @param sampleVO - 삭제할 정보가 담긴 VO
* @param searchVO - 목록 조회조건 정보가 담긴 VO
* @param status
* @return "forward:/sample/egovSampleList.do"
* @exception Exception
*/
@RequestMapping("/sample/deleteSample.do")
public String deleteSample(
SampleVO sampleVO,
@ModelAttribute("searchVO") SampleDefaultVO searchVO, SessionStatus status)
throws Exception {
sampleService.deleteSample(sampleVO);
status.setComplete();
return "forward:/sample/egovSampleList.do";
}
}
egovSampleService.java
public interface EgovSampleService {
/**
* 글을 등록한다.
* @param vo - 등록할 정보가 담긴 SampleVO
* @return 등록 결과
* @exception Exception
*/
String insertSample(SampleVO vo) throws Exception;
/**
* 글을 수정한다.
* @param vo - 수정할 정보가 담긴 SampleVO
* @return void형
* @exception Exception
*/
void updateSample(SampleVO vo) throws Exception;
/**
* 글을 삭제한다.
* @param vo - 삭제할 정보가 담긴 SampleVO
* @return void형
* @exception Exception
*/
void deleteSample(SampleVO vo) throws Exception;
/**
* 글을 조회한다.
* @param vo - 조회할 정보가 담긴 SampleVO
* @return 조회한 글
* @exception Exception
*/
SampleVO selectSample(SampleVO vo) throws Exception;
/**
* 글 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO
* @return 글 목록
* @exception Exception
*/
List selectSampleList(SampleDefaultVO searchVO) throws Exception;
/**
* 글 총 갯수를 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO
* @return 글 총 갯수
* @exception
*/
int selectSampleListTotCnt(SampleDefaultVO searchVO);
}
egovSampleServiceImpl.java
@Service("sampleService")
public class EgovSampleServiceImpl extends AbstractServiceImpl implements
EgovSampleService {
/** SampleDAO */
@Resource(name="sampleDAO")
private SampleDAO sampleDAO;
/** ID Generation */
@Resource(name="egovIdGnrService")
private EgovIdGnrService egovIdGnrService;
/**
* 글을 등록한다.
* @param vo - 등록할 정보가 담긴 SampleVO
* @return 등록 결과
* @exception Exception
*/
public String insertSample(SampleVO vo) throws Exception {
log.debug(vo.toString());
/** ID Generation Service */
String id = egovIdGnrService.getNextStringId();
vo.setId(id);
log.debug(vo.toString());
sampleDAO.insertSample(vo);
return id;
}
/**
* 글을 수정한다.
* @param vo - 수정할 정보가 담긴 SampleVO
* @return void형
* @exception Exception
*/
public void updateSample(SampleVO vo) throws Exception {
sampleDAO.updateSample(vo);
}
/**
* 글을 삭제한다.
* @param vo - 삭제할 정보가 담긴 SampleVO
* @return void형
* @exception Exception
*/
public void deleteSample(SampleVO vo) throws Exception {
sampleDAO.deleteSample(vo);
}
/**
* 글을 조회한다.
* @param vo - 조회할 정보가 담긴 SampleVO
* @return 조회한 글
* @exception Exception
*/
public SampleVO selectSample(SampleVO vo) throws Exception {
SampleVO resultVO = sampleDAO.selectSample(vo);
if (resultVO == null)
throw processException("info.nodata.msg");
return resultVO;
}
/**
* 글 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO
* @return 글 목록
* @exception Exception
*/
public List selectSampleList(SampleDefaultVO searchVO) throws Exception {
return sampleDAO.selectSampleList(searchVO);
}
/**
* 글 총 갯수를 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO
* @return 글 총 갯수
* @exception
*/
public int selectSampleListTotCnt(SampleDefaultVO searchVO) {
return sampleDAO.selectSampleListTotCnt(searchVO);
}
}
SampleVO.java
public class SampleVO extends SampleDefaultVO {
private static final long serialVersionUID = 1L;
/** 아이디 */
private String id;
/** 이름 */
private String name;
/** 내용 */
private String description;
/** 사용여부 */
private String useYn;
/** 등록자 */
private String regUser;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getUseYn() {
return useYn;
}
public void setUseYn(String useYn) {
this.useYn = useYn;
}
public String getRegUser() {
return regUser;
}
public void setRegUser(String regUser) {
this.regUser = regUser;
}
}
SampleDefaultVO.java
public class SampleDefaultVO implements Serializable {
/** 검색조건 */
private String searchCondition = "";
/** 검색Keyword */
private String searchKeyword = "";
/** 검색사용여부 */
private String searchUseYn = "";
/** 현재페이지 */
private int pageIndex = 1;
/** 페이지갯수 */
private int pageUnit = 10;
/** 페이지사이즈 */
private int pageSize = 10;
/** firstIndex */
private int firstIndex = 1;
/** lastIndex */
private int lastIndex = 1;
/** recordCountPerPage */
private int recordCountPerPage = 10;
public int getFirstIndex() {
return firstIndex;
}
public void setFirstIndex(int firstIndex) {
this.firstIndex = firstIndex;
}
public int getLastIndex() {
return lastIndex;
}
public void setLastIndex(int lastIndex) {
this.lastIndex = lastIndex;
}
public int getRecordCountPerPage() {
return recordCountPerPage;
}
public void setRecordCountPerPage(int recordCountPerPage) {
this.recordCountPerPage = recordCountPerPage;
}
public String getSearchCondition() {
return searchCondition;
}
public void setSearchCondition(String searchCondition) {
this.searchCondition = searchCondition;
}
public String getSearchKeyword() {
return searchKeyword;
}
public void setSearchKeyword(String searchKeyword) {
this.searchKeyword = searchKeyword;
}
public String getSearchUseYn() {
return searchUseYn;
}
public void setSearchUseYn(String searchUseYn) {
this.searchUseYn = searchUseYn;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageUnit() {
return pageUnit;
}
public void setPageUnit(int pageUnit) {
this.pageUnit = pageUnit;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
SampleDAO.java
@Repository("sampleDAO")
public class SampleDAO extends EgovAbstractDAO {
/**
* 글을 등록한다.
* @param vo - 등록할 정보가 담긴 SampleVO
* @return 등록 결과
* @exception Exception
*/
public String insertSample(SampleVO vo) throws Exception {
return (String)insert("sampleDAO.insertSample_S", vo);
}
/**
* 글을 수정한다.
* @param vo - 수정할 정보가 담긴 SampleVO
* @return void형
* @exception Exception
*/
public void updateSample(SampleVO vo) throws Exception {
update("sampleDAO.updateSample_S", vo);
}
/**
* 글을 삭제한다.
* @param vo - 삭제할 정보가 담긴 SampleVO
* @return void형
* @exception Exception
*/
public void deleteSample(SampleVO vo) throws Exception {
delete("sampleDAO.deleteSample_S", vo);
}
/**
* 글을 조회한다.
* @param vo - 조회할 정보가 담긴 SampleVO
* @return 조회한 글
* @exception Exception
*/
public SampleVO selectSample(SampleVO vo) throws Exception {
return (SampleVO) selectByPk("sampleDAO.selectSample_S", vo);
}
/**
* 글 목록을 조회한다.
* @param searchMap - 조회할 정보가 담긴 Map
* @return 글 목록
* @exception Exception
*/
public List selectSampleList(SampleDefaultVO searchVO) throws Exception {
return list("sampleDAO.selectSampleList_D", searchVO);
}
/**
* 글 총 갯수를 조회한다.
* @param searchMap - 조회할 정보가 담긴 Map
* @return 글 총 갯수
* @exception
*/
public int selectSampleListTotCnt(SampleDefaultVO searchVO) {
return (Integer)getSqlMapClientTemplate().queryForObject("sampleDAO.selectSampleListTotCnt_S", searchVO);
}
}
Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments 에서
파일정보 주석 (소스 가장 위 상단을 선택)
Types -> Edit
/**
* @FileName : ${file_name}
* @Project : ${project_name}
* @Date : ${date}
* @작성자 : ${user}
* @변경이력 :
* @프로그램 설명 :
*/
메소드정보 주석 (원하는 함수를 선택)
Methods -> Edit
/**
* @Method Name : ${enclosing_method}
* @작성일 : ${date}
* @작성자 : ${user}
* @변경이력 :
* @Method 설명 :
* ${tags}
*/
${} 내용설명
data : Current date (현재 날짜)
dollar : The dollar symbol (달러문양)
enclosing_type :The type enclosing the method (선택된 메소드의 타입)
file_name : Name of the enclosing compilation (선택된 편집파일 이름)
package_name : Name of the enclosing package (선택된 패키지 이름)
project_name : Name of the enclosing project (선택된 프로젝트 이름)
tags : Generated Javadoc tags (@param, @return...) (Javedoc 태그 생성)
time : Current time (현재 시간)
todo : Todo task tag ('해야할일'태그 생성)
type_name : Name of the current type (현재 타입의 이름)
user : User name (사용자 이름)
year : Current year (현재 연도)
3.2 기준으로 주석입력 단축키는 ALT + SHIFT + J
출처: https://onecellboy.tistory.com/108 [신불사 - 신현호라 불리는 사나이]
'it공부 > Java' 카테고리의 다른 글
상속 extends 부모 자식 (0) | 2020.07.05 |
---|---|
제네릭(Generic) 문법 정리 (0) | 2020.07.05 |
메소드 생성자 차이 (0) | 2020.07.05 |
프로그래머스 자바강의 요점정리 (0) | 2020.07.05 |
자바 [Eclipse] 이클립스 단축키 정리모음 (0) | 2020.07.05 |