썸네일이 너무 칙칙한 거 같아서 화사한걸로 바꿔보았습니다. ㅎㅎ
전자정부 프레임워크를 처음 사용하려니 뭐가 뭔지 모르겠어서 정리를 해보려 합니다.
Exception
이 발생하는 경우 핸들링하는 java 파일입니다.
EgovSampleExcepHndlr.java
, EgovSampleOthersExcepHndlr.java
파일에 대한 bean
을 등록하는 파일입니다.
egovHandler
,otherHandler
라는 id
를 가진 bean
을 참조합니다.
class 속성을 보면 EgovSampleExcepHndlr.java
, EgovSampleOthersExcepHndlr.java
파일에 대한 패키지 경로를 잡고 bean
으로 등록하는 것을 볼 수 있습니다.
webBindinglnitializer
에서 커스터마이징된 표준프레임워크의 java 파일입니다.
페이징처리를 하는 java 파일
dispatcher-servlet.xml
파일의 일부입니다.RequestMapplingHandlerAdpater
클래스를 bean
으로 등록할 때 webBindinglntializer
속성을 가진 EgovBindinglntializer
클래스를 설정합니다.
RequestMappingHandleAdpater
클래스는 HTTP 요청을 읽어 실행시킬 Controller의 Method를 선택하는 역할을 합니다.
페이징 처리에 대한 EgovImgPaginationRenderer
클래스를 bean
으로 등록하고, 등록 된 bean
의 paginationManager
에서 imageRenderer
라는 bean
을 참조합니다.
페이징 처리 관련 VO java 파일입니다.
sample 테이블의 모델에 대한 VO java 파일입니다.
VO java 파일에 대해서는 표시 된 xml 파일들에서 잡아주는 설정이 됩니다.
sample에 관한 데이터처리 mapper java 파일입니다.
MyBatis의 경우 mappers
폴더 하위에 있는 EgovSample_Sample_SQL.xml
파일에서 SampleMapper
클래스가 있는 package
경로를 mapper
태그의 namespace
속성에 잡아줍니다.
iBatis의 경우 sample
폴더 하위에 있는 EgovSample_Sample_SQL.xml
파일에서 VO 클래스가 있는 package
경로를 typeAlias
태그의 type
속성에 잡아줍니다.
iBatis의 경우 sql-map-config.xml
파일에서 sample
폴더 하위에 있는 EgovSample_Sample_SQL.xml
파일의 경로를 잡아줍니다.
MyBatis의 경우 sql-mapper-config.xml
파일에서 configuration
태그의 typeAliases
태그안에 VO 클래스에 대한
package
경로를 잡아줍니다.
sample 관련 서비스의 선언부가 담긴 인터페이스 java 파일입니다.
EgovSampleService
를 implements
받고 있는 sample 관련 서비스의 구현부가 담긴 java 파일입니다.
SampleVO
와 관련해서 데이터를 주고받는 메서드의 구현부가 담긴 java 파일입니다.
SampleVO
와 관련해서 데이터를 주고받는 메서드의 선언부가 담긴 인터페이스 java 파일입니다.
사용자의 요청을 받고 서비스에 데이터는 넘겨주는 역할과 모델로부터 받은 데이터를 지정된 뷰에 데이터를 넘겨주는 역할을 합니다.
egovframework
패키지 하위에 있는 controller
어노테이션에 대해 전부 스캔해주는 설정을 합니다.
이러한 설정때문에 뷰에서 넘어오는 url과 매핑되어 데이터를 받을 수 있습니다.
샘플 프로젝트가 아닌 진행하던 프로젝트에서
특정 경우에만 다른 쿼리문을 동작하고 싶을 때 수정했던 내용 흐름을 기억하려고 메모해둔 내용입니다. 참고용!!
kb0125
: 페이지 관련 코드 (프론트) [ jsp, js ]
bi
: 데이터 관련 코드 (쿼리문) , 기능 관련 자바 코드 (백)
[ VO.java, Service.java, ServiceImpl, DAO.java ][ SQL_mssql.xml ]
기존에 전달하던 데이터에 flag
라는 값을 추가하여 kb0125ManagerController
로 전달
1번의 동작으로 인해서 kb0125ManagerController
의 GET
매핑 serchVo
에 flag
값이 담기지만, biVO
에는 멤버변수를 추가하지 않아 값이 담길 공간이 없으니 추가해줍니다.
멤버변수를 먼저 추가하고 param
에 값을 추가하여도 무관합니다.
serchVO
에 담긴 새로 추가한 flag
값은
kb0125ManagerController.java
의 코드에서 biService.java
함수를 호출합니다.
biService.java
함수는 biServiceImpl.java
함수를 호출합니다
biServiceImpl.java
의 biDAO
infoDAO
를 호출하고
biDAO.java
함수에서 bi_SQL_mssql.xml
코드를 호출합니다.
쿼리문이 담겨있는 bi_SQL_mssql.xml
코드에서
추가한 데이터값 flag
를 읽어올 수 있게 됩니다.
원하는 동작을위해 쿼리문에 조건문을 추가할 수 있습니다.
<when test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(flag,'allStat')">
</when>
위의 동작은 특정 함수를 호출할 때 다른 데이터를 조회하기 위한 코드를 수정한 내용입니다.
특정 함수를 호출할 때 읽어올 데이터를 다르게 하기 위해 쿼리문까지의 해당 호출이 시작되는 페이지의 js 코드에서부터 쿼리문이 있는 코드까지 흐름을 타고 와서 동작을 추가하는 과정이었습니다.
조회하는 데이터가 달라지는게 아닌 다른 동작을 한다면 쿼리문이 담긴 코드가 아닌 다른 부분으로 흐름을 타고 가서 수정하면 됩니다.