trace.log20151006—PropertyUtils.describe

trace.log20151006—PropertyUtils.describeOrder.getOrderProfit()line:440NativeMethodAccessorImpl.invoke0(Method,Object,Object[])line:notavailable[nativemethod]NativeMethodAccessorImpl.invoke(Object,Object[])line:57Del

trace.log20151006---PropertyUtils.describe



Order.getOrderProfit() line: 440 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
PropertyUtilsBean.invokeMethod(Method, Object, Object[]) line: 1773 
PropertyUtilsBean.getSimpleProperty(Object, String) line: 1132 
PropertyUtilsBean.getNestedProperty(Object, String) line: 686 
PropertyUtilsBean.getProperty(Object, String) line: 715 
PropertyUtilsBean.describe(Object) line: 280 
PropertyUtils.describe(Object) line: 156 
DaoAspect.setPropertyWithSub(PubBean, String, Object) line: 203 
DaoAspect.setOrgId(PubBean, JoinPoint) line: 390 
DaoAspect.addBean(ProceedingJoinPoint) line: 66 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethodWithGivenArgs(Object[]) line: 627 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethod(JoinPoint, JoinPointMatch, Object, Throwable) line: 616 
AspectJAroundAdvice.invoke(MethodInvocation) line: 64 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
ExposeInvocationInterceptor.invoke(MethodInvocation) line: 89 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 635 
PubHibernateImpl$$EnhancerByCGLIB$$f9dc4e2d.addBean(Object, Session) line: not available 
OrderBO(PubHibernate).addBean(Object, Session) line: 156 
OrderManager.addSwOrder2(Store, Order, PresentCard, GiftCard, String, User, CartManager, int, OrderBO, double, String, Session, HttpServletRequest, CartManager) line: 4782 
OrderAction.performFgsave(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 982 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
OrderAction(PubAction).executeAction(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse, String) line: 320 
OrderAction(PubAction).execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 282 
RequestProcessor.processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 419 
RequestProcessor.process(HttpServletRequest, HttpServletResponse) line: 224 
ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1194 
ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 432 
ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 637 
ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
OrgFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 204 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
LoginFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 133 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SQLFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 52 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
FgPageFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SiteMeshFilter(ContentBufferingFilter).bufferAndPostProcess(FilterChain, HttpServletRequest, HttpServletResponse, Selector) line: 169 
SiteMeshFilter(ContentBufferingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 126 
MyConfigurableSiteMeshFilter(ConfigurableSiteMeshFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 163 
MyConfigurableSiteMeshFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 81 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 142 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
StandardWrapperValve.invoke(Request, Response) line: 233 
StandardContextValve.invoke(Request, Response) line: 191 
StandardHostValve.invoke(Request, Response) line: 127 
ErrorReportValve.invoke(Request, Response) line: 103 
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 293 
Http11AprProcessor.process(long) line: 879 
Http11AprProtocol$Http11ConnectionHandler.process(long) line: 600 
AprEndpoint$Worker.run() line: 1703 
Thread.run() line: 745 

BasicPropertyAccessor$BasicGetter.get(Object) line: 145 

{fzStatus=false, manager=, promotionGift=, reconFlag=0, allProductCost=5.0, returnReplaceProduct=null, giftCardRls=, agencyId=, hwStatus=0, integral=0, orgId=|1|, fhNote=, zdTime=7, gathering=5.0, deleteChilds=[], orderProfit=5.0, offerId=, payTypeName=, allProductsIntegral=0.0, dealTime=, shipStatus=, tkFlag=false, skPayTime=, sendTime=, modifyProductCost=5.0, classtype=, serviceType=, orderExtendHour=null, storeApp=false, serviceStatus=, payStatus=, qhAddressId=, promotionsID=, orderAllRefundInvoice=null, promotionCartDiscount=0.0, isvip=false, totalCost=5.0, promotionType=, subject=线下支付测试, qhAddress=, traces=[], storeIntegral=0.0, sendStoreIntegral=false, affixation=0.0, paid=0.0, yqButtonTime=2, childSize=1, backStatus=, orderReward=16.65, productCost=5.0, giftCardType=, alipayAccount=, note=, site=, orderDiscount=0.0, allJdProductCost=5.0, wlStatus=, childList=[com.aebiz.shop.order.model.OrderDetail@13ae055], storeAddress=, promotionsinfo=, orderJQPrice=16.65, remessage=, backAmount=0.0, hzsource=, storeIntetralNote=, refundOrderStatus=, esalesReconFlag=, orderSuccessDate=, shipTypeName=卖家承担运费, promChannelId=, confirm=false, dealReason=, uid=, isWholesale=, invoice=false, promotionCartPrice=0.0, esalesno=, type=2, reservationStartHour=, backGood=false, gcardNo=, logisticsId=, splitStatus=false, userId=1211110944, sendIntegralFlag=0, splitDate=null, refundTimes=0, isnet=, pcardAmount=0.0, billAccount=, pcardNo=, concessions=0.0, storeAddressId=, sourceValue=, status=01, orderDate=2015-10-06 09:56:18, fhType=0, promotionRole=, consignment=false, iscompanyShip=false, orderAddress=com.aebiz.shop.order.model.OrderAddress@1b9be0a, orderConsigneeAddress=com.aebiz.shop.order.model.OrderConsigneeAddress@16baf84, class=class com.aebiz.shop.order.model.Order, orderExtendTime=null, userApp=false, serviceReason=, offerOrBundled=false, fromUrl=, payType=cod, storeId=1111110145, invoiceContent=, shopFz=0.0, dealFlag=, showyqButtonTime=, fhAddressId=, reservationDate=, backReason=, invoiceTitle=, fzDate=, areaId=100120102000000, creator=1211110944, cancelNote=, backTime=, id=15100600483200, shipType=, parentId=15100600483200, kyqTime=7, wkEndTime=, orderString=线下支付测试(共 1 个)( 总价:5.0  应收:5.0), payGateType=, backIntegralFlag=0, expressNo=, viewBackApp=false, mergePay=true, dhTime=, storeName=, orderProductString=线下支付测试, settleDate=, fhAddress=, needIntegral=0.0, ydfrequency=, allYDProductCost=5.0, concessionsAmount=0.0, storeFz=0.0, reservationEndHour=, orderyzm=, source=, fzNote=, invoiceNote=, orderRefundInvoice=com.aebiz.service.model.OrderRefundInvoice@d0361a, creatorType=user, gamount=0.0}

Order.getorderProfit() line: 1943 
GeneratedMethodAccessor3204.invoke(Object, Object[]) line: not available 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
BasicPropertyAccessor$BasicGetter.get(Object) line: 145 
BasicPropertyAccessor$BasicGetter.getForInsert(Object, Map, SessionImplementor) line: 182 
PojoEntityTuplizer(AbstractEntityTuplizer).getPropertyValuesToInsert(Object, Map, SessionImplementor) line: 271 
PojoEntityTuplizer.getPropertyValuesToInsert(Object, Map, SessionImplementor) line: 218 
SingleTableEntityPersister(AbstractEntityPersister).getPropertyValuesToInsert(Object, Map, SessionImplementor) line: 3668 
DefaultSaveEventListener(AbstractSaveEventListener).performSaveOrReplicate(Object, EntityKey, EntityPersister, boolean, Object, EventSource, boolean) line: 267 
DefaultSaveEventListener(AbstractSaveEventListener).performSave(Object, Serializable, EntityPersister, boolean, Object, EventSource, boolean) line: 181 
DefaultSaveEventListener(AbstractSaveEventListener).saveWithGeneratedId(Object, String, Object, EventSource, boolean) line: 121 
DefaultSaveEventListener(DefaultSaveOrUpdateEventListener).saveWithGeneratedOrRequestedId(SaveOrUpdateEvent) line: 187 
DefaultSaveEventListener.saveWithGeneratedOrRequestedId(SaveOrUpdateEvent) line: 33 
DefaultSaveEventListener(DefaultSaveOrUpdateEventListener).entityIsTransient(SaveOrUpdateEvent) line: 172 
DefaultSaveEventListener.performSaveOrUpdate(SaveOrUpdateEvent) line: 27 
DefaultSaveEventListener(DefaultSaveOrUpdateEventListener).onSaveOrUpdate(SaveOrUpdateEvent) line: 70 
SessionImpl.fireSave(SaveOrUpdateEvent) line: 535 
SessionImpl.save(String, Object) line: 523 
SessionImpl.save(Object) line: 519 
PubHibernateImpl.addBean(Object, Session) line: 267 
PubHibernateImpl$$FastClassByCGLIB$$5c434a99.invoke(int, Object, Object[]) line: not available 
MethodProxy.invoke(Object, Object[]) line: 149 
Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint() line: 700 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 149 
MethodInvocationProceedingJoinPoint.proceed() line: 77 
DaoAspect.addBean(ProceedingJoinPoint) line: 71 
GeneratedMethodAccessor3326.invoke(Object, Object[]) line: not available 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethodWithGivenArgs(Object[]) line: 627 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethod(JoinPoint, JoinPointMatch, Object, Throwable) line: 616 
AspectJAroundAdvice.invoke(MethodInvocation) line: 64 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
ExposeInvocationInterceptor.invoke(MethodInvocation) line: 89 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 635 
PubHibernateImpl$$EnhancerByCGLIB$$f9dc4e2d.addBean(Object, Session) line: not available 
OrderBO(PubHibernate).addBean(Object, Session) line: 156 
OrderManager.addSwOrder2(Store, Order, PresentCard, GiftCard, String, User, CartManager, int, OrderBO, double, String, Session, HttpServletRequest, CartManager) line: 4782 
OrderAction.performFgsave(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 982 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
OrderAction(PubAction).executeAction(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse, String) line: 320 
OrderAction(PubAction).execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 282 
RequestProcessor.processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 419 
RequestProcessor.process(HttpServletRequest, HttpServletResponse) line: 224 
ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1194 
ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 432 
ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 637 
ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
OrgFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 204 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
LoginFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 133 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SQLFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 52 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
FgPageFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SiteMeshFilter(ContentBufferingFilter).bufferAndPostProcess(FilterChain, HttpServletRequest, HttpServletResponse, Selector) line: 169 
SiteMeshFilter(ContentBufferingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 126 
MyConfigurableSiteMeshFilter(ConfigurableSiteMeshFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 163 
MyConfigurableSiteMeshFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 81 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 142 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
StandardWrapperValve.invoke(Request, Response) line: 233 
StandardContextValve.invoke(Request, Response) line: 191 
StandardHostValve.invoke(Request, Response) line: 127 
ErrorReportValve.invoke(Request, Response) line: 103 
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 293 
Http11AprProcessor.process(long) line: 879 
Http11AprProtocol$Http11ConnectionHandler.process(long) line: 600 
AprEndpoint$Worker.run() line: 1703 
Thread.run() line: 745 

Order.getorderProfit() line: 1943 
GeneratedMethodAccessor3204.invoke(Object, Object[]) line: not available 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
BasicPropertyAccessor$BasicGetter.get(Object) line: 145 
PojoEntityTuplizer(AbstractEntityTuplizer).getPropertyValues(Object) line: 256 
PojoEntityTuplizer.getPropertyValues(Object) line: 209 
SingleTableEntityPersister(AbstractEntityPersister).getPropertyValues(Object, EntityMode) line: 3576 
DefaultFlushEntityEventListener.getValues(Object, EntityEntry, EntityMode, boolean, SessionImplementor) line: 160 
DefaultFlushEntityEventListener.onFlushEntity(FlushEntityEvent) line: 113 
DefaultFlushEventListener(AbstractFlushingEventListener).flushEntities(FlushEvent) line: 196 
DefaultFlushEventListener(AbstractFlushingEventListener).flushEverythingToExecutions(FlushEvent) line: 76 
DefaultFlushEventListener.onFlush(FlushEvent) line: 26 
SessionImpl.flush() line: 1000 
OrderAction.performFgsave(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 1028 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
OrderAction(PubAction).executeAction(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse, String) line: 320 
OrderAction(PubAction).execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 282 
RequestProcessor.processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 419 
RequestProcessor.process(HttpServletRequest, HttpServletResponse) line: 224 
ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1194 
ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 432 
ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 637 
ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
OrgFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 204 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
LoginFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 133 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SQLFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 52 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
FgPageFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SiteMeshFilter(ContentBufferingFilter).bufferAndPostProcess(FilterChain, HttpServletRequest, HttpServletResponse, Selector) line: 169 
SiteMeshFilter(ContentBufferingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 126 
MyConfigurableSiteMeshFilter(ConfigurableSiteMeshFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 163 
MyConfigurableSiteMeshFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 81 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 142 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
StandardWrapperValve.invoke(Request, Response) line: 233 
StandardContextValve.invoke(Request, Response) line: 191 
StandardHostValve.invoke(Request, Response) line: 127 
ErrorReportValve.invoke(Request, Response) line: 103 
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 293 
Http11AprProcessor.process(long) line: 879 
Http11AprProtocol$Http11ConnectionHandler.process(long) line: 600 
AprEndpoint$Worker.run() line: 1703 
Thread.run() line: 745 


Order.getOrderJQPrice() line: 1976 
OrderManager.addSwOrder2(Store, Order, PresentCard, GiftCard, String, User, CartManager, int, OrderBO, double, String, Session, HttpServletRequest, CartManager) line: 4694 
OrderAction.performFgsave(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 982 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
OrderAction(PubAction).executeAction(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse, String) line: 320 
OrderAction(PubAction).execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 282 
RequestProcessor.processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 419 
RequestProcessor.process(HttpServletRequest, HttpServletResponse) line: 224 
ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1194 
ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 432 
ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 637 
ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
OrgFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 204 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
LoginFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 133 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SQLFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 52 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
FgPageFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SiteMeshFilter(ContentBufferingFilter).bufferAndPostProcess(FilterChain, HttpServletRequest, HttpServletResponse, Selector) line: 169 
SiteMeshFilter(ContentBufferingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 126 
MyConfigurableSiteMeshFilter(ConfigurableSiteMeshFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 163 
MyConfigurableSiteMeshFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 81 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 142 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
StandardWrapperValve.invoke(Request, Response) line: 233 
StandardContextValve.invoke(Request, Response) line: 191 
StandardHostValve.invoke(Request, Response) line: 127 
ErrorReportValve.invoke(Request, Response) line: 103 
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 293 
Http11AprProcessor.process(long) line: 879 
Http11AprProtocol$Http11ConnectionHandler.process(long) line: 600 
AprEndpoint$Worker.run() line: 1703 
Thread.run() line: 745 

Order.getOrderJQPrice() line: 1976 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
PropertyUtilsBean.invokeMethod(Method, Object, Object[]) line: 1773 
PropertyUtilsBean.getSimpleProperty(Object, String) line: 1132 
PropertyUtilsBean.getNestedProperty(Object, String) line: 686 
PropertyUtilsBean.getProperty(Object, String) line: 715 
PropertyUtilsBean.describe(Object) line: 280 
PropertyUtils.describe(Object) line: 156 
DaoAspect.setPropertyWithSub(PubBean, String, Object) line: 203 
DaoAspect.setOrgId(PubBean, JoinPoint) line: 390 
DaoAspect.addBean(ProceedingJoinPoint) line: 66 
GeneratedMethodAccessor3326.invoke(Object, Object[]) line: not available 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethodWithGivenArgs(Object[]) line: 627 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethod(JoinPoint, JoinPointMatch, Object, Throwable) line: 616 
AspectJAroundAdvice.invoke(MethodInvocation) line: 64 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
ExposeInvocationInterceptor.invoke(MethodInvocation) line: 89 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 635 
PubHibernateImpl$$EnhancerByCGLIB$$f9dc4e2d.addBean(Object, Session) line: not available 
OrderBO(PubHibernate).addBean(Object, Session) line: 156 
OrderManager.addSwOrder2(Store, Order, PresentCard, GiftCard, String, User, CartManager, int, OrderBO, double, String, Session, HttpServletRequest, CartManager) line: 4782 
OrderAction.performFgsave(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 982 
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
OrderAction(PubAction).executeAction(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse, String) line: 320 
OrderAction(PubAction).execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 282 
RequestProcessor.processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 419 
RequestProcessor.process(HttpServletRequest, HttpServletResponse) line: 224 
ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1194 
ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 432 
ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 637 
ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
OrgFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 204 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
LoginFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 133 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SQLFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 52 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
FgPageFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SiteMeshFilter(ContentBufferingFilter).bufferAndPostProcess(FilterChain, HttpServletRequest, HttpServletResponse, Selector) line: 169 
SiteMeshFilter(ContentBufferingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 126 
MyConfigurableSiteMeshFilter(ConfigurableSiteMeshFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 163 
MyConfigurableSiteMeshFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 81 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 142 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
StandardWrapperValve.invoke(Request, Response) line: 233 
StandardContextValve.invoke(Request, Response) line: 191 
StandardHostValve.invoke(Request, Response) line: 127 
ErrorReportValve.invoke(Request, Response) line: 103 
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 293 
Http11AprProcessor.process(long) line: 879 
Http11AprProtocol$Http11ConnectionHandler.process(long) line: 600 
AprEndpoint$Worker.run() line: 1703 
Thread.run() line: 745 


{fzStatus=false, manager=, promotionGift=, reconFlag=0, allProductCost=5.0, returnReplaceProduct=null, giftCardRls=, agencyId=, hwStatus=0, integral=0, orgId=|1|, fhNote=, zdTime=7, gathering=0.0, deleteChilds=[], orderProfit=5.0, offerId=, payTypeName=BEST, allProductsIntegral=0.0, dealTime=, shipStatus=, tkFlag=false, skPayTime=, sendTime=, modifyProductCost=5.0, classtype=, serviceType=, orderExtendHour=, storeApp=false, serviceStatus=, payStatus=01, qhAddressId=, promotionsID=, orderAllRefundInvoice=null, promotionCartDiscount=0.0, isvip=false, totalCost=5.0, promotionType=, subject=线下支付测试, qhAddress=, traces=[com.aebiz.shop.order.model.OrderTracer@18c7ef9, com.aebiz.shop.order.model.OrderTracer@d2c889], storeIntegral=0.0, sendStoreIntegral=false, affixation=0.0, paid=5.0, yqButtonTime=2, childSize=1, backStatus=, orderReward=16.65, productCost=5.0, giftCardType=, alipayAccount=, note=, site=, orderDiscount=0.0, allJdProductCost=5.0, wlStatus=, childList=[com.aebiz.shop.order.model.OrderDetail@15f56ff], storeAddress=, promotionsinfo=, orderJQPrice=0.0, remessage=, backAmount=0.0, hzsource=, storeIntetralNote=, refundOrderStatus=, esalesReconFlag=, orderSuccessDate=, shipTypeName=卖家承担运费, promChannelId=, confirm=true, dealReason=, uid=, isWholesale=, invoice=false, promotionCartPrice=0.0, esalesno=, type=2, reservationStartHour=, backGood=false, gcardNo=, logisticsId=, splitStatus=false, userId=1211110944, sendIntegralFlag=0, splitDate=null, refundTimes=0, isnet=, pcardAmount=0.0, billAccount=, pcardNo=, concessions=0.0, storeAddressId=, sourceValue=, status=02, orderDate=2015-10-06 09:53:56, fhType=0, promotionRole=, consignment=false, iscompanyShip=false, orderAddress=com.aebiz.shop.order.model.OrderAddress@44ee2, orderConsigneeAddress=com.aebiz.shop.order.model.OrderConsigneeAddress@1435d5e, class=class com.aebiz.shop.order.model.Order, orderExtendTime=null, userApp=false, serviceReason=, offerOrBundled=false, fromUrl=, payType=cod, storeId=1111110145, invoiceContent=, shopFz=0.0, dealFlag=, showyqButtonTime=, fhAddressId=, reservationDate=, backReason=, invoiceTitle=, fzDate=, areaId=100120102000000, creator=1211110944, cancelNote=, backTime=, id=15100600483000, shipType=, parentId=15100600483000, kyqTime=7, wkEndTime=, orderString=线下支付测试(共 1 个)( 总价:5.0  应收:0.0), payGateType=, backIntegralFlag=0, expressNo=, viewBackApp=false, mergePay=false, dhTime=, storeName=, orderProductString=线下支付测试, settleDate=2015-10-06 10:09:35, fhAddress=, needIntegral=0.0, ydfrequency=, allYDProductCost=5.0, concessionsAmount=0.0, storeFz=0.0, reservationEndHour=, orderyzm=, source=, fzNote=, invoiceNote=, orderRefundInvoice=com.aebiz.service.model.OrderRefundInvoice@d6f94a, creatorType=user, gamount=0.0}

DaoAspect.setPropertyWithSub(PubBean, String, Object) line: 203 
DaoAspect.updateOrgId(PubBean, JoinPoint) line: 440 
DaoAspect.updateBean(ProceedingJoinPoint) line: 91 
GeneratedMethodAccessor3275.invoke(Object, Object[]) line: not available 
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 
Method.invoke(Object, Object…) line: 606 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethodWithGivenArgs(Object[]) line: 627 
AspectJAroundAdvice(AbstractAspectJAdvice).invokeAdviceMethod(JoinPoint, JoinPointMatch, Object, Throwable) line: 616 
AspectJAroundAdvice.invoke(MethodInvocation) line: 64 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
ExposeInvocationInterceptor.invoke(MethodInvocation) line: 89 
Cglib2AopProxy$CglibMethodInvocation(ReflectiveMethodInvocation).proceed() line: 171 
Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 635 
PubHibernateImpl$$EnhancerByCGLIB$$f9dc4e2d.updateBean(Object, Session) line: not available 
OrderBO(PubHibernate).updateBean(Object, Session) line: 178 
OrderManager.updateOrderStatus(Account, Order, String, String, String, String, String, String, String, Session) line: 2586 
OrderManager.orderPay(String, String, double, String, String, String, String, String, String) line: 562 
bestpay.jsp line: 209 
bestpay_jsp(HttpJspBase).service(HttpServletRequest, HttpServletResponse) line: 70 
bestpay_jsp(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
JspServletWrapper.service(HttpServletRequest, HttpServletResponse, boolean) line: 388 
JspServlet.serviceJspFile(HttpServletRequest, HttpServletResponse, String, Throwable, boolean) line: 313 
JspServlet.service(HttpServletRequest, HttpServletResponse) line: 260 
JspServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
ApplicationDispatcher.invoke(ServletRequest, ServletResponse, ApplicationDispatcher$State) line: 646 
ApplicationDispatcher.doInclude(ServletRequest, ServletResponse) line: 551 
ApplicationDispatcher.include(ServletRequest, ServletResponse) line: 488 
IncludePage.execute(Environment, Map, TemplateModel[], TemplateDirectiveBody) line: 144 
Environment.visit(TemplateElement, TemplateDirectiveModel, Map, List) line: 263 
UnifiedCall.accept(Environment) line: 126 
Environment.visit(TemplateElement) line: 210 
MixedContent.accept(Environment) line: 92 
Environment.visit(TemplateElement) line: 210 
Environment.visit(TemplateElement, TemplateTransformModel, Map) line: 299 
CompressedBlock.accept(Environment) line: 73 
Environment.visit(TemplateElement) line: 210 
EscapeBlock.accept(Environment) line: 84 
Environment.visit(TemplateElement) line: 210 
Environment.process() line: 190 
Template.process(Object, Writer) line: 237 
AebizFreemarkerServlet(FreemarkerServlet).process(HttpServletRequest, HttpServletResponse) line: 452 
AebizFreemarkerServlet(FreemarkerServlet).doPost(HttpServletRequest, HttpServletResponse) line: 399 
AebizFreemarkerServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 637 
AebizFreemarkerServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
FgPageFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SiteMeshFilter(ContentBufferingFilter).bufferAndPostProcess(FilterChain, HttpServletRequest, HttpServletResponse, Selector) line: 169 
SiteMeshFilter(ContentBufferingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 126 
MyConfigurableSiteMeshFilter(ConfigurableSiteMeshFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 163 
MyConfigurableSiteMeshFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 81 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
OrgFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 204 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 142 
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235 
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206 
StandardWrapperValve.invoke(Request, Response) line: 233 
StandardContextValve.invoke(Request, Response) line: 191 
StandardHostValve.invoke(Request, Response) line: 127 
ErrorReportValve.invoke(Request, Response) line: 103 
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 293 
Http11AprProcessor.process(long) line: 879 
Http11AprProtocol$Http11ConnectionHandler.process(long) line: 600 
AprEndpoint$Worker.run() line: 1703 
Thread.run() line: 745 

{fzStatus=false, manager=, promotionGift=, reconFlag=0, allProductCost=5.0, returnReplaceProduct=null, giftCardRls=, agencyId=, hwStatus=0, integral=0, orgId=|1|, fhNote=, zdTime=7, gathering=0.0, deleteChilds=[], orderProfit=5.0, offerId=, payTypeName=BEST, allProductsIntegral=0.0, dealTime=, shipStatus=, tkFlag=false, skPayTime=, sendTime=, modifyProductCost=5.0, classtype=, serviceType=, orderExtendHour=, storeApp=false, serviceStatus=, payStatus=01, qhAddressId=, promotionsID=, orderAllRefundInvoice=null, promotionCartDiscount=0.0, isvip=false, totalCost=5.0, promotionType=, subject=线下支付测试, qhAddress=, traces=[com.aebiz.shop.order.model.OrderTracer@153ea37, com.aebiz.shop.order.model.OrderTracer@1cc5618], storeIntegral=0.0, sendStoreIntegral=false, affixation=0.0, paid=5.0, yqButtonTime=2, childSize=1, backStatus=, orderReward=16.65, productCost=5.0, giftCardType=, alipayAccount=, note=, site=, orderDiscount=0.0, allJdProductCost=5.0, wlStatus=, childList=[com.aebiz.shop.order.model.OrderDetail@3b7712], storeAddress=, promotionsinfo=, orderJQPrice=0.0, remessage=, backAmount=0.0, hzsource=, storeIntetralNote=, refundOrderStatus=, esalesReconFlag=, orderSuccessDate=, shipTypeName=卖家承担运费, promChannelId=, confirm=true, dealReason=, uid=, isWholesale=, invoice=false, promotionCartPrice=0.0, esalesno=, type=2, reservationStartHour=, backGood=false, gcardNo=, logisticsId=, splitStatus=false, userId=1211110944, sendIntegralFlag=0, splitDate=null, refundTimes=0, isnet=, pcardAmount=0.0, billAccount=, pcardNo=, concessions=0.0, storeAddressId=, sourceValue=, status=02, orderDate=2015-10-06 10:18:42, fhType=0, promotionRole=, consignment=false, iscompanyShip=false, orderAddress=com.aebiz.shop.order.model.OrderAddress@3f4e67, orderConsigneeAddress=com.aebiz.shop.order.model.OrderConsigneeAddress@123dd2c, class=class com.aebiz.shop.order.model.Order, orderExtendTime=null, userApp=false, serviceReason=, offerOrBundled=false, fromUrl=, payType=cod, storeId=1111110145, invoiceContent=, shopFz=0.0, dealFlag=, showyqButtonTime=, fhAddressId=, reservationDate=, backReason=, invoiceTitle=, fzDate=, areaId=100120102000000, creator=1211110944, cancelNote=, backTime=, id=15100600483400, shipType=, parentId=15100600483400, kyqTime=7, wkEndTime=, orderString=线下支付测试(共 1 个)( 总价:5.0  应收:0.0), payGateType=, backIntegralFlag=0, expressNo=, viewBackApp=false, mergePay=false, dhTime=, storeName=, orderProductString=线下支付测试, settleDate=2015-10-06 10:19:16, fhAddress=, needIntegral=0.0, ydfrequency=, allYDProductCost=5.0, concessionsAmount=0.0, storeFz=0.0, reservationEndHour=, orderyzm=, source=, fzNote=, invoiceNote=, orderRefundInvoice=com.aebiz.service.model.OrderRefundInvoice@344c51, creatorType=user, gamount=0.0}


背景

       一般情况下,在Java中你可以通过get方法轻松获取beans中的属性值。但是,当你事先不知道beans的类型或者将要访问或修改的属性名时,该怎么办?Java语言中提供了一些像java.beans.Introspector这样类,实现了在运行时检测Java类并确定属性get和set方法的名称,结合Java中的反射机制就可以调用这些方法了。然而,这些APIs使用起来比较困难,并且将Java类中一些不必要的底层结构暴露给了开发人员。BeanUtils包中的APIs试图简化动态获取和设置bean属性的过程。

      BeanUtils包中的PropertyUtils类中的一些静态方法实现了上面的功能,稍后会详细介绍。首先,介绍一些有用的定义:

     JavaBean支持的属性类型一般可以划分成三类–标准的JavaBeans规范支持其中的一些,也有一部分只有BeanUtils包支持:

Simple(单值)  —  单值或量,有个一可以访问或修改的属性。值的类型可能是Java语言的原生类型(如:int型),简单的类(如:java.lang.String),或者一个复杂类的对象,这个类可能来自Java语言或者来自应用程序再或者来自应用程序中的一个类库。
Indexed(索 引)  —   索引的属性,属性中存放有序对象(都是同类型的)的集合,每个对象都可以通过一个非负的整数值(或下标)来获取。另外,所有值的集合可以使用一个数组来设置或者获取。作为一个JavaBeans规范的扩展,BeanUtils包认为所有底层数据类型为java.util.List(或List的一个实现) 的属性都可以被索引。
Mapped(映射)  —  作为一个标准JavaBeans APIs的扩展,  BeanUtils包认为所有底层数据类型为java.util.Map的属性都可以被”映射”。你可以通过String类型的key值来设置或者获取对应的值。
      PropertyUtils类中提供了各种API方法用来获取和设置上述三种类型的属性。在下面的程序片段中,假设在bean类中都定义了如下的方法:

[java] view plaincopy
public class Employee {  
    public Address getAddress(String type);  
    public void setAddress(String type, Address address);  
    public Employee getSubordinate(int index);  
    public void setSubordinate(int index, Employee subordinate);  
    public String getFirstName();  
    public void setFirstName(String firstName);  
    public String getLastName();  
    public void setLastName(String lastName);

访问基本属性
      获取和设置simple属性很简单。在Javadocs中查看下面两个方法:

PropertyUtils.getSimpleProperty(Object bean, String name)
PropertyUtils.setSimpleProperty(Object bean, String name, Object value)
     使用这两个方法,你可以动态地修改employee的name属性:

       

[java] view plaincopy
Employee employee = …;  
String firstName = (String) PropertyUtils.getSimpleProperty(employee, “firstName”);  
String lastName = (String) PropertyUtils.getSimpleProperty(employee, “lastName”);  
  
 … manipulate the values …  
PropertyUtils.setSimpleProperty(employee, “firstName”, firstName);  
PropertyUtils.setSimpleProperty(employee, “lastName”, lastName);

    对于indexed(索引)属性,你有两种选择 – 你既可以在属性名后面添加方括号在里面放上一个下标,也可以在调用方法时将其作为一个独立参数:

PropertyUtils.getIndexedProperty(Object bean, String name)
PropertyUtils.getIndexedProperty(Object bean, String name, int index)
PropertyUtils.setIndexedProperty(Object bean, String name, Object value)
PropertyUtils.setIndexedProperty(Object bean, String name, int index, Object value)
      属性名的下标只能是整数常量。如果你想获取的项的索引是计算出来的,你可以将属性名和索引作为字符串组合起来。例如,你可以向下面这样做:
    Employee employee = …;
    int index = …;
    String name = “subordinate[” + index + “]”;
    Employee subordinate = (Employee) PropertyUtils.getIndexedProperty(employee, name);

    Employee employee = …;
    int index = …;
    Employee subordinate = (Employee) PropertyUtils.getIndexedProperty(employee, “subordinate”, index);

类似的,获取和设置mapped(映射)属性的方法同样有两对。与indexed(索引)不同的是额外的属性是用括号括起来的(“(”和“)”)而不是方括号,并且获取和设置值时如同从底层的map中获取和设置值一样。
PropertyUtils.getMappedProperty(Object bean, String name)
PropertyUtils.getMappedProperty(Object bean, String name, String key)
PropertyUtils.setMappedProperty(Object bean, String name, Object value)
PropertyUtils.setMappedProperty(Object bean, String name, String key, Object value)
例如,你可以使用下面两种方法设置employee的家庭住址:

    Employee employee = …;
    Address address = …;
    PropertyUtils.setMappedProperty(employee, “address(home)”, address);

    Employee employee = …;
    Address address = …;
    PropertyUtils.setMappedProperty(employee, “address”, “home”, address);

访问嵌套属性
      在上面的例子中,我们假设你将bean作为第一个参数传入PropertyUtils方法,并希望获取指定属性的值。然而,如果属性的值是一个Java对象,并且你希望进一步获取这个Java对象的某个属性的值?

      例如,假设你事实上想要获取的值是employee家庭住址中的city属性。使用标准的Java编程技术直接获取bean的对应属性,你可以这样写:
   String city = employee.getAddress(“home”).getCity();

      使用PropertyUtils类中的等效机制被称为嵌套属性访问。使用这种方法,你将访问路径上的属性的名称用“.”拼接起来 — 与你在JavaScript执行嵌套属性访问的方式非常相似。

PropertyUtils.getNestedProperty(Object bean, String name)
PropertyUtils.setNestedProperty(Object bean, String name, Object value)
      PropertyUtils中等效于上面的Java代码将是这样:
   String city = (String) PropertyUtils.getNestedProperty(employee, “address(home).city”);


最后,方便起见,PropertyUtils提供了如下一组方法,它们接收simple、indexed和mapped属性的任意组合方法,支持任意层次的嵌套:

PropertyUtils.getProperty(Object bean, String name)
PropertyUtils.setProperty(Object bean, String name, Object value)
      你可以像这样使用:

    Employee employee = …;
    String city = (String) PropertyUtils.getProperty(employee,”subordinate[3].address(home).city”);


 PropertyUtils.describe(this);   .

分类: Java相关技术  2012-12-07 20:18 463人阅读 评论(0) 收藏 举报

 PropertyUtils.describe(this); 这个让人郁闷的事情

原来这黑斯转化的时候 会把扫描Model下 以get开头 的方法 并把其后面的方法名称当做字段处理 导致数据库异常


 beanutils.describe 方法漏洞   .

分类: 技术(J2EE)  2009-09-29 13:18 2328人阅读 评论(2) 收藏 举报

stringexceptiongettersetterclassnull

org.apache.commons.beanutils是我们经常会用到工具包,其中的describe方法可以将对象的所有可读属性和对应值放入Map中返回给我们,下面的代码片段由qdcrm系统中的线上代码转化而来:

 

public class ObjA {

    public String a;

   

    public String getA() {

       return a;

    }

    public void setA(String a) {

       this.a = a;

    }

    public Map getProperty() {

       try {

           return (BeanUtils.describe(this));

       } catch (Exception e) {

           System.out.println(e.getStackTrace());

       }

       return null;

    }

}

你看出这段代码有什么问题了吗?

下面我们来分析一下:

当我们对ObjA的一个实例调用getProperty()方法的时候,首先describe方法会通过PropertyUtilsBean.getPropertyDescriptors()获取ObjA的所有属性,而该方法会通过查看一个属性是否有getter或setter来判断这个属性是否存在,也就是说,如果存在方法void setXXX(XXX  xxx)或者方法XXX  getXXX()则他就会认为这个类包含属性XXX。那么现在程序拿到的ObjA属性列表将是[a,class,property],既然得到了属性列表,那接下来便要根据属性列表去获取对应属性的值了,这时程序将调用每个属性对应的get方法去获取属性的值,于是getProperty方法又被调用了,这里便出现了循环调用,会导致栈溢出错误。

解决的办法很简单,我们只要将getProperty换一个方法名即可,比如叫做property()。

今天的文章trace.log20151006—PropertyUtils.describe分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58177.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注