// org.hibernate.Session 또는 org.springframework.orm.hibernate3.HibernateTemplate 을 이용하여 리턴 받은 리스트값을 Object 배열을 이용하여 추출합니다.

//##  Controller 에서 Service 호출 부분

List dataList = dataService.selectDataMain(currentPage, countPerPage);
Iterator list = dataList .iterator();
while(list.hasNext()) {
    Object[] data = (Object[])list.next();
logger.debug("data[0] : " + data[0] +", data[1] : " + data[1]+", data[2] : " + data[2]+", data[3] : " + data[3]);
}


// ## DAO 부분
 public List selectDataMain(int currentPage, int countPerPage){
  String[] paramNames = new String[]{"currentPage", "countPerPage"};
  Object[] values = new Object[]{currentPage, countPerPage};
 
  List list = getHibernateTemplate().findByNamedQueryAndNamedParam("select.selectDataMainList", paramNames, values);
 
  return list;
 }


###
   branchListL = donationService.findByBranchL(bean.getBranchL());
   branchListM = donationService.findByBranchM(bean.getBranchM());
   branchListS = donationService.findByBranchS(bean.getBranchS());
   BranchList branchM = new BranchList();
   BranchList branchL = new BranchList();
   BranchList branchS = new BranchList();  
   Iterator iter1 = branchListL.iterator();
   Iterator iter2 = branchListM.iterator();
   Iterator iter3 = branchListS.iterator();
   if(iter1.hasNext()){
    branchL = (BranchList)iter1.next();
   }
   if(iter2.hasNext()){
    branchM = (BranchList)iter2.next();
   }
   if(iter3.hasNext()){
    branchS = (BranchList)iter3.next();
   }
   if(branchM.getBranchName() != null) {
    branchM.setBranchName(" / " + branchM.getBranchName());
   }
   if(branchS.getBranchName() != null){
    branchS.setBranchName(" / " + branchS.getBranchName());
   }

11 25, 2009 15:19 11 25, 2009 15:19

Trackback URL : http://develop.sunshiny.co.kr/trackback/342

Leave a comment


action-servlet.xml 설정 후
Controller 에서 Service 메소드를 사용하기 위해서는 set() 메소드를 넣어주어야 함

# Controller.java 와 Service.java  동일한 방식으로 set()를 넣어줌

Controller.java

public class IncludeController implements Controller {

 protected final Log logger = LogFactory.getLog(getClass());

 private WritingHistoryService writingHistoryService;
 
 public void setWritingHistoryService(WritingHistoryService writingHistoryService) {
  this.writingHistoryService = writingHistoryService;
 }

List quickList = writingHistoryService.selectUserWritingViewInfo(userId, sessionId, 5);



########################## 에러 내용 #################################
정보: Initializing Spring FrameworkServlet 'action'
ERROR - FrameworkServlet.initServletBean(290) | Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'includeController' defined in ServletContext resource [/WEB-INF/conf/properties/action-servlet.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'writingHistoryService' of bean class [aaa.bbb.ccc.web.common.IncludeController]: Bean property 'writingHistoryService' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
 at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:402)
 at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:316)
 at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:282)
 at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
 at javax.servlet.GenericServlet.init(GenericServlet.java:212)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'writingHistoryService' of bean class [aaa.bbb.ccc.web.common.IncludeController]: Bean property 'writingHistoryService' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)
 at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
 at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
 at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
 ... 35 more


################# 에러내용 : Invalid property 'methodNameResolver'  #########################

action-servlet.xml , applicationContext-***.xml  설정후 methodNameResolver 에러 발생시

1) 해당하는 컨트롤러 클래스 상속 확인
MultiActionController 을 상속 받아야함.
public class ExpirationWriterController extends MultiActionController{

2) action-servlet.xml 확인
 <bean id="expirationWriterController" class="aa.bb.cc.web.expiration.ExpirationWriterController">
  <property name="expirationWriterService" ref="expirationWriterService" />
  <property name="methodNameResolver" ref="mappingMethodNameResolver" />
 </bean>

 <bean id="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
  <property name="paramName">
   <value>method</value>
  </property>
  <property name="defaultMethodName">
   <value>list</value>
  </property>
 </bean>
 
 <bean id="mappingMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
   <property name="mappings">
   <props>
    <prop key="/**/form.do">form</prop>
    <prop key="/**/read.do">view</prop>
    <prop key="/**/view.do">view</prop>
    <prop key="/**/modify.do">modify</prop>
    <prop key="/**/edit.do">modify</prop>
    <prop key="/**/list.do">list</prop>
    <prop key="/**/write.do">write</prop>
    <prop key="/**/save.do">save</prop>
    <prop key="/**/cancel.do">cancel</prop>
    <prop key="/**/regForm.do">regForm</prop>
    <prop key="/**/listView.do">listView</prop>
    <prop key="/**/detailView.do">detailView</prop>
    <prop key="/**/cancel.do">cancel</prop>
    <prop key="/**/success.do">success</prop>
    <prop key="/**/failure.do">failure</prop>
   </props>
  </property>  
 </bean>

####################   에러 내용 ######################
ERROR - FrameworkServlet.initServletBean(290) | Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'expirationWriterController' defined in ServletContext resource [/WEB-INF/conf/properties/action-servlet.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'methodNameResolver' of bean class [aaa.bbb.ccc.web.expiration.ExpirationWriterController]: Bean property 'methodNameResolver' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
 at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:402)
 at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:316)
 at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:282)
 at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
 at javax.servlet.GenericServlet.init(GenericServlet.java:212)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'methodNameResolver' of bean class [aaa.bbb.ccc.web.expiration.ExpirationWriterController]: Bean property 'methodNameResolver' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)
 at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
 at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
 at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
 ... 35 more

04 5, 2009 14:16 04 5, 2009 14:16

Trackback URL : http://develop.sunshiny.co.kr/trackback/190

Leave a comment

Spring - Redirect 방식

Posted 02 9, 2009 21:17, Filed under: Language/ㅡ Spring

ModelAndView view = new ModelAndView("redirect:index.do");
02 9, 2009 21:17 02 9, 2009 21:17

Trackback URL : http://develop.sunshiny.co.kr/trackback/137

Leave a comment

Java - Spring 개발환경 모듈 구성

Posted 01 13, 2009 15:37, Filed under: Language/ㅡ Spring

## 스프링 2.0.x 버전 모듈 구성

모듈

설명

의존

Spring-core.jar

스프링 코어

Commons Logging(Log4J)

Spring-beans.jar

자바빈 지원, 빈 컨테이너

Spring-core(CGLIB)

Spring-aop.jar

AOP 프레임워크 소스 레벨 메타데이터지원

Spring-core(spring-beans)(AOP Alliance)(CGLIB)(Commons Attributes)

Spring-context.jar

어플리케이션 컨텍스트 JNDI 지원, Instrumentation 스케줄링, 검증

Spring-beans(spring-aop)

Spring-dao.jar

DAO 지원 트랜잭션 인프라스트럭쳐

Spring-core(spring-aop)(spring-context)(JTA API)

spring-jdbc.jar

JDBC 지원

Spring-beans, spring-dao

Spring-support.jar

외부 라이브러리 스케줄링 UI 템플릿 지원, 스크립팅 캐싱, 메일지원

Spring-context(spring-jdbc)(Quartz)(Velocity, FreeMarker)(JasperReports)(BSH, Grooby, JRuby)(EHCache)

Spring-web.jar

웹 어플리케이션 컨텍스트

파일 업로드 처리기

웹 유틸리티

Spring-context

서블릿 API

(JSP API, JSTL)

(Commons FileUpload, COS)

Spring-webmvc.jar

프레임워크 서블릿

MVC 프레임워크

Web 컨드롤러와 뷰

Spring-web

(spring-support)

(Tiles, iText, POI)

Spring-portlet.jar

포틀릿 MVC 프레임워크

포틀릿 컨트롤러

Spring-web

포틀릿 API

(spring-webmvc)

Spring-struts.jar

스트럿츠 지원

Spring-web, Struts

Spring-remoting.jar

원격 호출 지원

EJB 지원

Spring-aop

(spring-context, spring-web)

(Hessian, Burlap, JAX-RPC)

(EJB API)

Spring-jca.jar

JCA 1.0/1.5 지원

Spring-beans, spring-dao

JCA API

(spring-context)

Spring-jms.jar

JMS 1.0.2/1.1 지원

Spring-beans, spring-dao

JMS API

(spring-remoting)

Spring-jmx.jar

JMX 1.0/1.2 지원

Spring-beans, spring-aop

JMX API

Spring-jdo.jar

JDO 1.0/2.0 지원

Spring-jdbc, JDO API

(spring-web)

Spring-jpa.jar

JPA 1.0 지원

Spring-jdbc, JPA API

(spring-web)

Spring-hibernate2.jar

하이버네이트 2.1 지원

Spring-jdbc, 하이버네이트 2,

(spring-web)

Spring-hibernate3.jar

하이버네이트 3.0/3.1/3.2 지원

Spring-jdbc,하이버네이트3,spring-web)

Spring-toplink.jar

TopLink 지원

Spring-jdbc, TopLink

Spring-ibatis.jar

iBATIS 지원

Spring-jdbc, Ibatis

Spring-mock.jar

다양한 Mock 지원 클래스

(Servlet API, Junit 지원 등)

Spring-core

# ‘의존칼럼에서 괄호 안에 표시한 것은 선택적으로 필요한 라이브러리를 의미한다.

예를 들어, spring-hibernate3 모듈을 사용하려면 spring-jdbc 모듈과 하이버네이트 3 버진이 반드시

필요하며 특정 기능을 사용하기 위해서는  spring-web 모듈을 추가적으로 필요로 한다.


























































## 스프링 2..5 버전의 모듈 구성

모듈

설명

의존

Spring-core.jar

스프링 코어,

소스 레벨 메타 데이터

ASM 라이브러리 재패키징

Commons Logging

(Commons Attributes)

Spring-beans.jar

자바빈 지원, 빈 컨테이너

Spring-core

Spring-aop.jar

AOP 프레임 워크

Spring-core

(spring-beans)

(AOP Alliance)

Spring-context.jar

어플리케이션 컨텍스트

JNDI, JMX, Instrumentation

스크립트, 스케줄링, 검증 원격지원

Spring-beans

(spring-aop)

(JMX API)()

BSH, Groovy, Jruby

(EJB API)

Spring-context-support.jar

Quartz CommonJ 스케줄링

UI 템플릿, 메일, 캐싱

Spring-context

(spring-aop)

(spring-jdbc)

(Quartz, CommonJ)

(Velocity, FreeMarker)(EHCache)

Spring-jdbc.jar

JDBC 지원

Spring-beans

Spring-tx

Spring-tx.jar

트랜잭션 인프라

JCA 지원 ,DAO 지원

Spring-core

(spring-aop)

(spring-context)

(JTA API, JCA API)

Spring-web.jar

웹 어플리케이션 컨텍스트

파일 업로드 처리기

HTTP 기반 원격 지원

Spring-context

서블릿 API

(JSP, API, JSTL)

Spring-webmvc.jar

프레임워크 서블릿

MVC 프레임워크

Web 컨트롤러와 뷰

Tiles 2 뷰 지원

Spring-web

(spring-context-support)

Spring-webmvc-portlet.jar

프레임워크 포틀릿

포틀릿 MVC 프레임워크

포틀릿 컨트롤러

Spring-web

포틀릿 API

(spring-webmvc)

Spring-webmvc-struts.jar

스트럿츠 1.x 지원

Tiles 1.x 뷰 지원

Spring-web,, Struts

(spring-webmvc)

Spring-jms.jsr

JMS 1.0.2./1.1 지원

Spring-beans, spring-tx

JMS API

Spring-orm.jar

JDO, JPA, 하이버네이트

TopLink, iBATIS 지원

Spring-jdbc

(spring-web)

(하이버네이트 3.1+)

(TopLink, iBATIS)

Spring-test.jar

테스트 컨텍스트 프레임워크

다양한 Mock 지원 클래스

(Servlet API, Junit 지원 등)

Spring-core

(spring-context)

(spring-jdbc)

(spring-web)

(JUnit)

(서블릿 API, 포틀릿 API)



출처 : 스프링 2.5 프로그래밍 - 저자 : 최범균

01 13, 2009 15:37 01 13, 2009 15:37

Trackback URL : http://develop.sunshiny.co.kr/trackback/80

Leave a comment


Recent Posts

  1. Linux - Telnet 서비스 비활성및 실행
  2. NT - 서버 원격데스크탑 연결
  3. NT - http와 https간에 세션 공유가...
  4. Unix - 대량 파일 이동, 삭제시 Argu...
  5. Oracle - SYS_CONTEXT 함수를 이용하...

Recent Comments

  1. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  2. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  3. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,
  4. 관리자만 볼 수 있는 댓글입니다. 비밀방문자 01 11,
  5. 넵 답변감사합니다^^ 좋은 하루 되... 노로링

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   02 2012   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바지기
  13. Ready System
  14. Solaris Freeware
  15. Linux-Site
  16. RedHat Korea
  17. 윈디하나의 솔라나라

Site Stats

TOTAL 217715 HIT
TODAY 17 HIT
YESTERDAY 115 HIT