diff --git a/src/main/java/cokr/xit/foundation/component/AbstractBean.java b/src/main/java/cokr/xit/foundation/component/AbstractBean.java new file mode 100644 index 0000000..3052185 --- /dev/null +++ b/src/main/java/cokr/xit/foundation/component/AbstractBean.java @@ -0,0 +1,3 @@ +package cokr.xit.foundation.component; + +public abstract class AbstractBean extends ManagedComponent {} \ No newline at end of file diff --git a/src/main/java/cokr/xit/foundation/component/AbstractDao.java b/src/main/java/cokr/xit/foundation/component/AbstractDao.java index 0af8d08..635fc4f 100644 --- a/src/main/java/cokr/xit/foundation/component/AbstractDao.java +++ b/src/main/java/cokr/xit/foundation/component/AbstractDao.java @@ -19,6 +19,7 @@ import cokr.xit.foundation.Assert; import cokr.xit.foundation.Log; import cokr.xit.foundation.UserInfo; import cokr.xit.foundation.data.DataObject; +import cokr.xit.foundation.util.DateFormats; /**DAO(Data Access Object)의 베이스 클래스. * @author mjkhan @@ -30,6 +31,8 @@ public abstract class AbstractDao extends EgovAbstractMapper { /** 메시지 소스 */ @Resource(name="messageSource") protected MessageSource messages; + /** 날짜 포맷 모음 */ + protected DateFormats dateFormats = new DateFormats(); /** 로그이름 */ private String logName; /** SQL mapper 네임스페이스 */ diff --git a/src/main/java/cokr/xit/foundation/component/AbstractServiceBean.java b/src/main/java/cokr/xit/foundation/component/AbstractServiceBean.java index da06484..e2cc26b 100644 --- a/src/main/java/cokr/xit/foundation/component/AbstractServiceBean.java +++ b/src/main/java/cokr/xit/foundation/component/AbstractServiceBean.java @@ -13,6 +13,7 @@ import cokr.xit.foundation.ApplicationException; import cokr.xit.foundation.Assert; import cokr.xit.foundation.Log; import cokr.xit.foundation.UserInfo; +import cokr.xit.foundation.util.DateFormats; /**서비스 인터페이스 구현체의 베이스 클래스 *
업무 서비스는 인터페이스로 클라이언트에 노출된다.
@@ -38,6 +39,8 @@ public abstract class AbstractServiceBean extends EgovAbstractServiceImpl {
/** 메시지 소스 */
@Resource(name="messageSource")
protected MessageSource messages;
+ /** 날짜 포맷 모음 */
+ protected DateFormats dateFormats = new DateFormats();
/** 로그이름 */
private String logName;
diff --git a/src/main/java/cokr/xit/foundation/component/ManagedComponent.java b/src/main/java/cokr/xit/foundation/component/ManagedComponent.java
new file mode 100644
index 0000000..852955f
--- /dev/null
+++ b/src/main/java/cokr/xit/foundation/component/ManagedComponent.java
@@ -0,0 +1,68 @@
+package cokr.xit.foundation.component;
+
+import javax.annotation.Resource;
+
+import org.egovframe.rte.fdl.property.EgovPropertyService;
+import org.springframework.context.MessageSource;
+
+import cokr.xit.foundation.AbstractComponent;
+import cokr.xit.foundation.Access;
+import cokr.xit.foundation.UserInfo;
+import cokr.xit.foundation.util.DateFormats;
+
+/**spring framework가 관리하는 컴포넌트를 정의할 때 상속받는 클래스.
+ *
ManagedComponent를 상속받는 클래스는 + *
ManagedComponent의 상속 클래스는 '업무 용어 또는 기능 이름' + 'Bean'과 같이 이름을 명시한다.
+ * 그리고 정의한 클래스를 애플리케이션 컨텍스트에 등록하려면, @Component 어노테이션을 적용하고 카멜 표기법으로 이름을 지정한다.
+ * 다음은 그 예이다.
+ *
package cokr.xit.example.business.service.bean; + * {@code @Component("businessBean")} + * public class BusinessBean extends ManagedComponent { + * ... + * }+ *
정의한 컴포넌트를 사용하려면 @Resource 어노테이션에 이름을 명시해 객체에 주입한다. + *
@Resource(name = "businessBean")
+ * BusinessBean businessBean;
+ */
+public class ManagedComponent extends AbstractComponent {
+ /** 프로퍼티 서비스 */
+ @Resource(name="propertyService")
+ protected EgovPropertyService properties;
+ /** 메시지 소스 */
+ @Resource(name="messageSource")
+ protected MessageSource messages;
+ /** 날짜 포맷 모음 */
+ protected DateFormats dateFormats = new DateFormats();
+
+ /**현재 접근한 사용자를 반환한다.
+ * @param