1、mybatis的错误:Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'initialPoolSize'; nested exception is java.lang.NumberFormatException: For input string: "${pool.c3p0.initialPoolSize}"
<bean id="writeSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSourceWrite" />
<property name="typeAliasesSuperType" value="com.xueyi.core.domain.IDomain" />
<property name="mapperLocations" value="classpath*:mybatis/*Mapper.xml" />
<property name="typeHandlersPackage" value="com.xueyi.core.mybatis.handler"></property>
<property name="failFast" value="true"></property>
</bean>
<!-- scan for mappers and let them be autowired -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.xueyi" />
<property name="markerInterface" value="com.xueyi.core.dao.ISqlWriteMapper" />
<property name="sqlSessionFactory" ref="writeSqlSessionFactory" />
</bean>
后来查看众多博客才明白:原因是:
在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username}这样之类的表达式,将无法获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer实际是在解析加载bean定义阶段的,这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替换定义中的变量,导致把表达式当作字符串复制了。 但如果不设置sqlSessionFactory 属性的话,就必须要保证sessionFactory在spring中名称一定要是sqlSessionFactory ,否则就无法自动注入。
只需要这么改动:<property name="sqlSessionFactoryBeanName" value="writeSqlSessionFactory" />
改用sqlSessionFactoryBeanName注入就没有问题(不要使用sqlSessionFactory属性注入,使用sqlSessionFactoryBeanName注入),因为这时不会立即初始化sqlSessionFactory,传入的只是名字,非bean,所以不会引发提前初始化问题。
注意:如果你只有一个DataSource,那么就没有必要去指定SqlSessionFactory或SqlSessionTemplate,因为MapperScannerConfigurer将会创建MapperFactoryBean,之后自动装配。但是,如果你使用了一个以上的DataSource(因此,也是多个的SqlSessionFactory),那么就可以使用sqlSessionFactoryBeanName去指定sqlSessionFactory,否则自动装配可能会失效。
2、从svn上面共享项目却无法发布(添加到server服务),原因可能有两处:1)项目名称不符,右键项目,选择最下面的properties--然后对比项目名称是否相同;2)项目类型不是web项目,右键项目,选择最下面的properties,再选择Project Facets ,在里面再选择Dynamic web project 发布就可以。(有时候会出来maven项目转过来后不是maven项目了,并且报缺少jar包的错,这个应该右键选择configure,然后选择maven project)
3、Myeclipse的server加载项目的时候启动特别缓慢,然后选择project--》properties--选择validation 关闭 Suspend all validations (关闭验证)
但是有时候还不管用,怎么办?!找出eclipse.ini,在里面添加 -clean ,然后再关闭编辑器重启,再点击project中的clean
4、java compiler level does not match the version of the installed Java Project facet
把 Project Facets 中的java 版本改一下就可以了
5 、项目登录时候怎么查看登录路径?
双击server服务器,然后点击下面的Modules,进行项目访问路径的编辑
6、Eclipse中Project的属性Deployment Assembly(部署程序集)这个主要用于maven项目中把需要的包导入,把test的去掉 Eclipse中Project的属性Deployment Assembly(支配程序集)
7、Eclipse中新建server服务器,先把tomcat找出来复制一份,把里面的webapps目录下的全部删除,把work目录下面的Catalina目录下的全部删除。在eclipse里面new server,点击下面的 configure runtime Environments ,在里面新建选择tomcat版本并且选中复制的tomcat路径。然后确认之后在server runtime Environments里面选择tomcat版本。最后双击server把里面的Ports端口全部改编为不相同的
8、把已经有的tomcat删除:选择window-》preferences--》server-->runtimeEnvironment
9、开机后server启动报错:'Publishing to Tomcat v6.0 Server ai localhost...'has encountered a problem
Could not publish to the server. Details:
Could not publish to the server.
java.lang.NullPointException
处理拌饭:把tomcat删除,重新添加就可以了