收藏 分享(赏)

spring入门编程问题集锦.doc

上传人:kpmy5893 文档编号:7857514 上传时间:2019-05-27 格式:DOC 页数:10 大小:44.50KB
下载 相关 举报
spring入门编程问题集锦.doc_第1页
第1页 / 共10页
spring入门编程问题集锦.doc_第2页
第2页 / 共10页
spring入门编程问题集锦.doc_第3页
第3页 / 共10页
spring入门编程问题集锦.doc_第4页
第4页 / 共10页
spring入门编程问题集锦.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、spring 入门编程问题集锦1、如何学习 Spring? 你可以通过下列途径学习 spring: (1) spring 下载包中 doc 目录下的 MVC-step-by-step 和 sample 目录下的例子都是比较好的 spring 开发的例子。 (2) AppFuse 集成了目前最流行的几个开源轻量级框架或者工具Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,StrutsTestCase,Canoos WebTest,Struts Menu,Display Tag Library,OSCache,JSTL,Struts 。 你可以通

2、过 AppFuse 源代码来学习 spring。 AppFuse 网站:http:/ (3)Spring 开发指南 (夏昕 )(http:/ 一本 spring 的入门书籍, 里面介绍了反转控制和依赖注射的概念,以及 spring 的 bean 管理, spring 的 MVC,spring 和 hibernte,iBatis 的结合。 (4) spring 学习的中文论坛 SpringFramework 中文论坛(http:/) Java 视线论坛(http:/)的 spring 栏目 2、利用 Spring 框架编程,console 打印出 log4j:WARN Please initia

3、lize the log4j system properly? 说明你的 log4j.properties 没有配置。请把 log4j.properties 放到工程的 classpath 中,eclipse 的 classpath 为 bin 目录,由于编译后 src 目录下的文件会拷贝到 bin 目录下,所以你可以把 log4j.properties 放到 src 目录下。 这里给出一个 log4j.properties 的例子: log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppe

4、nder log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n 3、出现 java.lang.NoClassDefFoundError? 一般情况下是由于你没有把必要的 jar 包放到 lib 中。 比如你要采用 spring 和 hibernate(带事务支持的话) ,你除了spring.jar 外还需要 hibernat.jar、aopalliance.jar 、cglig.jar、jak

5、arta-commons 下的几个 jar 包。 http:/www.springframework.org/download.html 下载 spring 开发包,提供两种 zip 包 spring-framework-1.1.3-with-dependencies.zip 和 spring-framework-1.1.3.zip,我建议你下载 spring-framework-1.1.3-with-dependencies.zip。这个 zip 解压缩后比后者多一个 lib 目录,其中有hibernate、j2ee、dom4j、aopalliance 、jakarta-commons 等常

6、用包。 4、java.io.FileNotFoundException: Could not open class path resource hbm.xml,提示找不到 xml 文件? 原因一般有两个: (1)该 xml 文件没有在 classpath 中。 (2)applicationContext-hibernate.xml 中的 xml 名字没有带包名。比如:bean id=“sessionFactory“ class=“org.springframework.orm.hibernate.LocalSessionFactoryBean“ property name=“dataSourc

7、e“ref bean=“dataSource“/property property name=“mappingResources“ list valueUser.hbm.xml/value 错,改为: valuecom/yz/spring/domain/User.hbm.xml/value /list /property property name=“hibernateProperties“ props prop key=“hibernate.dialect“ net.sf.hibernate.dialect.MySQLDialect /prop prop key=“hibernate.sho

8、w_sql“true/prop /props /property /bean 5、org.springframework.beans.NotWritablePropertyException: Invalid property postDao of bean class? 出现异常的原因是在 application-xxx.xml 中 property name 的错误。 property name=“ 中 name 的名字是与 bean 的 set 方法相关的,而且要注意大小写。 比如 public class PostManageImpl extends BaseManage implem

9、ents PostManage private PostDAO dao = null; public void setPostDAO(PostDAO postDAO) this.dao = postDAO; 那么 xml 的定义应该是: bean id=“postManage“ parent=“txProxyTemplate“ property name=“target“ bean class=“com.yz.spring.service.implement.PostManageImpl“ property name=“postDAO“ref bean=“postDAO“/property 对

10、 property name=“dao“ref bean=“postDAO“/property 错 /bean /property /bean 6、Spring 中如何实现事务管理? 首先,如果使用 mysql,确定 mysql 为 InnoDB 类型。 事务管理的控制应该放到商业逻辑层。你可以写个处理商业逻辑的 JavaBean,在该 JavaBean 中调用 DAO,然后把该 Bean 的方法纳入 spring 的事务管理。 比如:xml 文件定义如下: bean id=“txProxyTemplate“ abstract=“true“ class=“org.springframework

11、.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 /prop

12、s /property /bean bean id=“userManage“ parent=“txProxyTemplate“ property name=“target“ bean class=“com.yz.spring.service.implement.UserManageImpl“ property name=“userDAO“ref bean=“userDAO“/property /bean /property /bean com.yz.spring.service.implement.UserManageImpl 就是我们的实现商业逻辑的 JavaBean。我们通过 parent

13、 元素声明其事务支持。 7、如何管理 Spring 框架下更多的 JavaBean? JavaBean 越多, spring 配置文件就越大,这样不易维护。为了使配置清晰,我们可以将 JavaBean 分类管理,放在不同的配置文件中。 应用启动时将所有的 xml 同时加载。 比如: DAO 层的 JavaBean 放到 applicationContext-hibernate.xml 中,商业逻辑层的 JavaBean 放到 applicationContext-service.xml 中。然后启动类中调用以下代码载入所有的 ApplicationContext。 String paths =

14、 “com/yz/spring/dao/hibernate/applicationContext-hibernate.xml“, “com/yz/spring/service/applicationContext-service.xml“; ctx = new ClassPathXmlApplicationContext(paths); 8、web 应用中如何加载 ApplicationContext? 可以通过定义 web.xml,由 web 容器自动加载。 servlet servlet-namecontext/servlet-name servlet-classorg.springfra

15、mework.web.context.ContextLoaderServlet/servlet-class load-on-startup1/load-on-startup /servlet context-param param-namecontextConfigLocation/param-name param-value/WEB-INF/applicationContext-hibernate.xml/param-value param-value/WEB-INF/applicationContext-service.xml/param-value /context-param 9、在

16、spring 中如何配置的 log4j? 在 web.xml 中加入以下代码即可。 context-param param-namelog4jConfigLocation/param-name param-value/WEB-INF/log4j.properties/param-value /context-param 10、Spring 框架入门的编程问题解决了,我该如何更深地领会 Spring框架呢? 这两本书你该去看看。这两本书是由 Spring 的作者 Rod Johnson 编写的。 Expert One on one J2EE Design and Development Expert One on one J2EE Development Without EJB 你也该看看 martinfowler 的 Inversion of Control Containers and the Dependency Injection pattern。 http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报