下面是本人学习使用spring到现在的一些资料和经验,希望对某些朋友有用。
1。学习资料部分
1。1 强烈建议学习spring下载包中doc目录下的MVC-step-by-step。sample目录下的例子也都是比较好的spring开发的例子。
1。2 appfuse:我刚刚开始学习的时候就是使用appfuse的,可以帮助快速建立项目。集成了目前最流行的几个开源轻量级框架或者工具Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,StrutsTestCase,JSTL,Struts等。
AppFuse网站:http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse
1.3 Spring 开发指南(夏昕)(http://www.xiaxin.net/Spring_Dev_Guide.rar)
入门书籍,里面简单介绍了反转控制和依赖注射的概念,以及spring的bean管理,spring的MVC,spring和hibernte,iBatis的结合。对于入门者来说,还是很有用的。
1.4 spring学习的中文论坛
SpringFramework中文论坛(http://spring.jactiongroup.net) 。
JavaRead开源网站(http://www.javaread.com/question/list)的问答栏目,注册简单,问题回复挺快的。
Java视线论坛(http://forum.javaeye.com)的spring栏目,有问题的讨论。
1.5 深度学习:基本掌握之后,这两本书你该去看看。这两本书是由Spring的作者Rod Johnson编写的。
Expert One on one J2EE Design and Development
Expert One on one J2EE Development Without EJB
1.6 加把劲,再研究研究spring的文档。
http://www.jactiongroup.net/reference/html/index.html
2. 知识库
2.1 如何在spring配置Quartz
配置如下:
<bean id="taskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myService" />
<property name="targetMethod" value="myMethod" />
<property name="concurrent" value="false" />
</bean>
<bean id="taskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref=" taskJob " />
<property name="startDelay" value="10000" />
<property name="repeatInterval" value="60000" />
</bean>
详细可参考:http://www.javaread.com/article/show/69
2.2 在spring下怎么配置拦截器
dataSecurityAdvisor
<bean id="dataSecurityAdvice" class="com.javaread.你的advice实现类"/>
<bean id="dataSecurityAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref local="dataSecurityAdvice"/>
</property>
<property name="patterns">
<list><!-- 拦截方法模式 -->
<value>.*get.*</value>
<value>.*create.*</value>
<value>.*update.*</value>
<value>.*delete.*</value>
</list>
</property>
</bean>
使用advice:在需要使用该拦截器的时候,在对应bean里添加一下代码即可。
<property name="postInterceptors">
<list>
<ref local="dataSecurityAdvisor"/>
</list>
</property>
2.3 Spring中如何实现事务管理
事务管理的控制应该放到商业逻辑层。
xml文件定义如下:
事务定制:
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
service bean配置:
<bean id="yourManage" parent="txProxyTemplate">
<property name="target">
<bean class="com.javaread.你的service bean">
<property name="yourDAO"><ref bean="yourDAO"/></property>
</bean>
</property>
</bean>
2.4 spring框架下,bean越来越多时,该如何管理
主要方法有二,
a)把bean分类,用不同的xml文件配置,再同时加载。
b)利用annotation新特性,简化配置。
更多信息:http://www.javaread.com/question/show/962.5 在spring中如何配置log4j
非常简单,在web.xml中加入以下代码即可。
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
本文作者:javaread.com