新搭建了一个环境,方便测试相关代码。
中间出现了几个小问题,折腾了半天,还好搞定。
1. 因为controller继承了multiactioncontroller,想配置BeanNameUrlHandlerMapping来替换默认的internal...Mapping,但是只是配置了bean定义,没有组装到自定义的bean模版中去,导致一直没有生效。
<bean id="methodNameResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action" />
</bean>
<!--
注意,multicontroller默认的是internalResolver,如果要替换其他的,则必须 显示的 指定!!!!!!!!!
public class MultiActionController extends AbstractController
implements LastModified { /** Delegate that knows how to determine
method names from incoming requests */ private MethodNameResolver
methodNameResolver = new InternalPathMethodNameResolver(); }
-->
<bean id="baseController" abstract="true">
<property name="methodNameResolver" ref="methodNameResolver"></property>
</bean>
2.后又想配置ViewResolver,开始配置的是xstViewResolver,结果不好用,老是报不能编译样式表的错误。后来配置UrlBasedViewResolver,又忘记配置viewClass属性。
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/jsp/myweb"></property>
<property name="suffix" value=".jsp"></property>
</bean>
3.想验证一下AOP.然后配置了pointcut,advice,advisor,还有proxyfactorybean.
结果不生效。
搞了半天,问题出在我往controller中注入的还是之前的service,而不是通过proxyfactorybean生成的service。
所以把service的定义改成下边的样子,注入的时候用welcomeService这个名称。
<bean id="welcomeService" parent="baseTxProxy">
<property name="target">
<bean class="com.myweb.welcome.service.WelocomeService">
</bean>
</property>
</bean>
其中baseTxProxy就是proxyfactorybean模版定义
<bean id="aopProxy" class="org.springframework.aop.framework.ProxyFactoryBean"
abstract="true" lazy-init="true">
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="interceptorNames">
<value>welcomeAdvisor</value>
</property>
</bean>
4.后来看到另外一种简单的方式,就是用DefaultAdvisorAutoProxyCreator,这个会自动检查配置的advisor。这样只需要配置各种advisor即可。当中出现的问题是pointcut定义时的partern利用的正则表达式一直没有搞明白(注:最后发现是路径写错了,晕。com.asd.efg.asd.*中间一个路径漏写了。)。
5.中间小插曲就是打印的log一直打印不出来,后来发现是类中引用的logger不是log4j的jar中的,但是配置文件又是针对log4j的。统一后搞定。可能是因为lib中引入的jar太多造成的混乱。
分享到:
相关推荐
简单struts+spring+hibernate搭建,配置,适合初学者
在"springmvc+spring+hibernate环境"中,配置文件通常会包括Spring的配置文件(如applicationContext.xml)、Spring MVC的配置文件(如spring-mvc.xml)、Hibernate的配置文件(如hibernate.cfg.xml)以及缓存的配置...
搭建 Struts2+Spring+Hibernate 框架中的 Action 单元测试环境需要解决三个主要问题:如何测试 Action?如何解决 JPA 中的 Lazy 机制?如何做用户 Session 管理?通过使用 StrutsSpringTestCase 和 junit4.jar,可以...
### Struts+Spring+Hibernate框架搭建 #### 1. SSH整合理念 在现代软件开发中,特别是Java Web应用开发领域,采用多个框架协同工作已成为一种常见的做法。这种做法旨在通过不同框架的优势互补来构建高性能、高灵活...
本篇文章将深入探讨如何使用Maven作为构建工具,在Eclipse环境中搭建一个整合了Spring、Spring MVC和Hibernate的项目。 首先,让我们了解Maven。Maven是Apache开发的一款项目管理和综合工具,它通过一个项目对象...
在IT行业中,开发Java Web应用时常常会使用到一套名为SSH2(Struts2、Spring、Hibernate)的技术栈...提供的文档"Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例.doc"将更详细地指导你完成整个过程。
标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...
总结来说,"jsf+spring+hibernate" 的组合为开发者提供了一个强大而灵活的框架,能够有效地处理复杂的 Web 应用场景,包括用户认证、数据操作和业务流程控制。通过合理的设计和配置,可以构建出高效、可扩展的应用...
总的来说,"Spring+SpringMVC+Hibernate+JSP框架搭建"是Java Web开发中的一种强大模式,能够帮助开发者快速构建高效、稳定的应用程序。通过深入理解并熟练掌握这些技术,可以大大提高开发者的生产力和项目的质量。
在"Spring+SpringMVC+Hibernate+Maven框架搭建及配置文件源码"这个项目中,开发者可能已经包含了这些框架的配置文件,例如Spring的applicationContext.xml、SpringMVC的servlet-context.xml、Hibernate的hibernate....
1. **环境准备**:确保已经安装了Java SDK和Maven,创建一个新的Maven项目,并在pom.xml中添加Spring和Hibernate的依赖。 2. **配置Spring**:创建一个配置文件,如`applicationContext.xml`,配置DataSource、...
Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例
Flex+Spring+Hibernate 整合是企业级应用开发中常见的一种技术栈组合,它结合了Flex前端的富互联网...通过以上步骤,开发者可以搭建一个完整的Flex+Spring+Hibernate开发环境,为复杂的企业级应用开发提供坚实的基础。
在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...
下面我们将深入探讨"非注解SpringMVC+Spring+Hibernate入门实例"中的关键知识点。 首先,让我们从SpringMVC开始。SpringMVC是一个Model-View-Controller架构模式的实现,用于构建Web应用程序。在非注解方式下,我们...
在实际的项目搭建过程中,首先会配置好各框架的环境,包括数据库连接、Spring的bean配置、Structs2的action配置等。然后,开发者会在ExtJS4中创建UI组件,通过Ajax请求与后台交互。Structs2接收到请求后,通过Spring...
简单的SSH框架搭建。有兴趣可以下载,都是右键点击属性---选择MyEclipse中操作的。