第04项目:淘淘商城(SpringMvc+Spring+Mybatis) 的个人学习实践总结【第二天】

本人做过一年的MATLAB编程和简单维护过VB和C++的项目。是跟着网上获得的IT培训机构的Java视频课来自学入门Java知识和常用框架的使用。

淘淘商城(SpringMvc+Spring+Mybatis)  是传智播客在2015年9月份录制的,几年过去了。有些软件最新版本的使用 和.jar包配置信息,只有根据日志报错信息作出适当的调整变更才能跑通项目。为了方便广大自学Java同仁的共同进步,我将持续更新这个网络实战项目练习的内容,着重指出符合当下开发环境下的内容勘误修订。

 

02.第二天(框架整合,后台系统搭建)

一、Eclipse中运行提示报错:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

09.整合测试-ok.avi

在按照视频中老师的讲解按部就班的操作下,Eclipse中运行提示报错:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

这是eclipse&maven和我安装的jdk版本配置有未设置的操作工序导致。修正方法在我的CSDN博客  https://blog.csdn.net/qq_40993412/article/details/99322387

或者参阅https://www.jianshu.com/p/1ed0ec397575

 

 二、maven 编译出错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean

eclipse在使用maven的tomcat控件编译java程序时,报错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project **-web: Failed to clean project: Failed to delete X:\**\target\tomcat\logs\access_log

这类错误

出现这种错误,通常是由于您已启动了另一个tomcat 进程或者运行的javaw.exe进程。

 三、 taotao商城项目视频中老师所创建的web项目文件路径和附件中笔记、教案提供的参考源代码有兼容性出入导致的报错
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'itemController':
Could not autowire field: private com.taotao.service.ItemService com.taotao.controller.ItemController.itemService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No qualifying bean of type [com.taotao.service.ItemService] found for dependency: 

说明原理的一个技术博客链接  https://blog.csdn.net/s740556472/article/details/54974074

四、log4j日志输出配置文件未设置导致的报错解决

在视频中,老师一直没提log4j的配置文件log4j.properties的设定,导致后面完全按照演示操作也会出现Eclipse报错信息:

log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly

01.参考资料文件夹里面有log4j.properties文件,我们需要把它复制到项目src文件夹或将log4j.properties放到 \WEB-INF\classes文件夹中即可。

 

参考的技术博客:   关于控制台输出 警告 log4j:WARN No appenders could be found for logger

                                将src文件夹设置为source目录方法

 

 

 五、由于配置db.properties路径错误导致的cannot be resolved to URL because it does not exist异常处理

参考的技术博客 https://blog.csdn.net/qinkang1993/article/details/57626434/

淘淘商城项目照着视频做出现这个报错,原因是老师提供的教案配置信息和视频演示有些小出入,需要我们自行修改.xml配置文件。把下图中高亮的首个properties改成实际路径的resource即可。

 

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=UTF-8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=root

 

 六、阿里巴巴的druid数据库连接池配置文件 db.properties 要注意格式上不识别【&serverTimezone=Asia/Shanghai】

2019年我们在复盘这个taotao商城项目的时候,可以通过taotao-parent定义依赖的版本更新到

<druid.version>1.1.9</druid.version>

//北京时间东八区
serverTimezone=GMT%2B8 
//或者使用上海时间
serverTimezone=Asia/Shanghai

在taotao-manager-web项目下的 src/main/resources 有spring文件夹,里面的applicationContext-dao.xml 定义了druid数据库连接池的配置信息。

 1 <!-- 数据库连接池 -->
 2     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
 3         destroy-method="close">
 4         <property name="url" value="${jdbc.url}" />
 5         <property name="username" value="${jdbc.username}" />
 6         <property name="password" value="${jdbc.password}" />
 7         <property name="driverClassName" value="${jdbc.driver}" />
 8         <property name="maxActive" value="20" />
 9         <property name="initialSize" value="1" />
10         <property name="maxWait" value="60000" />
11         <property name="minIdle" value="5" />
12     </bean>

 

参考的技术博客  JDBC连接数据库 mysql serverTimezone useSSL 时差

                              DRUID连接池的实用 配置详解

 

 七、在taotao-manager-web项目下的pom.xml里 ,配置tomcat插件的warSourceDirectory标签值。

  <build>
          <plugins>
            <!-- 配置Tomcat插件的warSourceDirectory -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                   <configuration>
                       <warSourceDirectory>webapp</warSourceDirectory>
                       <port>8080</port>
                       <path>/</path>
                   </configuration>
            </plugin>
        </plugins>
  
  </build>

 

 八、mybatis 整合spring之mapperLocations配置的问题

结论是:如果Mapper.xml与Mapper.class在同一个包下且同名,spring扫描Mapper.class的同时会自动扫描同名的Mapper.xml并装配到Mapper.class。

如果Mapper.xml与Mapper.class不在同一个包下或者不同名,就必须使用配置mapperLocations指定mapper.xml的位置。

 

 九、分页测试给web项目pom.xml导入分页插件的依赖坐标不能用最新版而要用附件中老师修改过的特别版本3.4.2-fix

 

       

// taotao-parent中定义的版本不能用5.0.3因为会抛出异常
<pagehelper.version>3.4.2-fix</pagehelper.version>

 

okey

 

转载于:https://www.cnblogs.com/MarlonKang/p/11342081.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值