主题:[原创]spring学习资料和知识库集锦
下面是本人学习使用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/96
2.5 在spring中如何配置log4j 非常简单,在web.xml中加入以下代码即可。 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param>
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/96
2.5 在spring中如何配置log4j 非常简单,在web.xml中加入以下代码即可。 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param>