因为篇幅问题,《IDEA上快速搭建基于maven的Spring MVC项目步骤》到具体框架配置部分后面内容转到这篇下继续。
具体的配置信息基本上都放了截图和引用。
这里先给出demo项目的基本结构截图,实际项目结构目录可能会有所不同,但基本的结构关系应该大同小异。末尾还放了服务器启动后的项目目录结构。
这里再贴一下mybaits的配置文件和数据源配置,都是基本的配置。
1、spring-datasource.xml的DEMO详情
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<!-- 一. 创建DataSource对象 --> <
!--1.1 引入外部的一些资源文件 location 资源文件的路径 -->
<context:property-placeholder location="/WEB-INF/configs/spring/jdbc.properties"/>
<!-- 1.2 创建DataSource对象 -->
<bean id="mysqlDataSource" class="org.apache.commons.dbcp2.BasicDataSource"> <property name="driverClassName" value="${jdbc.mysql.driver}"></property> <property name="url" value="${jdbc.mysql.url}"></property> <property name="username" value="${jdbc.mysql.username}"></property> <property name="password" value="${jdbc.mysql.password}"></property> </bean>
<!-- 二. 创建SqlSessionFactory对象 -->
<bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 设置数据源属性 --> <property name="dataSource" ref="mysqlDataSource"></property>
<!-- 配置mybatis的配置文件的路径 可选 --> <property name="configLocation" value="/WEB-INF/configs/spring/mybatis_config.xml"></property>
<!-- 配置myabtis的mapper文件的路径 可选 默认 mapper.xml文件的路径为 和mapper接口同包同名的 -->
<property name="mapperLocations"> <list> <value>classpath:/mybaits/**/**/*Mapper.xml</value> </list> </property>
</bean>
<!-- 三.创建mapper对象 会自动根据配置 将指定包下的mapper对象创建出来 mapper对象的bean的名字 默认为mapper接口的名字首字母变成小写 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.demo.dao"></property>
<!-- 以下配置 不要添加 但是要保证ioc容器中SqlSessionFactory对象的bean 的名字为 sqlSessionFactory-->
<!-- <property name="sqlSessionFactory" ref="sqlsessionFactory"></property> -->
</bean>
<!-- 四. 做事务处理 --> <!-- 4.1 创建事务管理的对象 负责 事务的开启 提交 回滚 关闭等等操作 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
<property name="dataSource" ref="mysqlDataSource"></property>
</bean>
<!-- 添加事务的注解驱动 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
2、mybatis_config.xml的DEMO详情
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库分页插件 --> <property name="helperDialect" value="mysql"/>
<!-- 合理化分页 --> <property name="reasonable" value="true"/>
</plugin>
</plugins>
</configuration>
到这里实际上基本都配好了,接下来就是写写具体的代码测一下实际情况了。
因为我已经跑通了,所以这里就直接给出demo的简单截图
demo项目基本完工了,接下来就是配置启动服务器,因为不是boot没有内置,不能直接跑
按截图逐步配置即可,可按自己的需求调整相关设置。
完成以后就可以选择自己配置的tomcat直接启动或者debug启动项目啦。
最后我们看一下实际效果,三个不同页面都ok了,请求转发页面跳转都没有问题。
总结:
到这里spring mvc的demo就基本完工了,当然,这只是一个很基础的demo,很多东西没有用到,作为一个基础spring mvc demo,但它已经五脏俱全了,剩下的就是根据实际需要添加、调整和使用了。
实际上在pom中添加的json转化、分页插件、参数校验、单元测试等依赖都没有用到,也没有在项目中使用过滤器、拦截器、jms消息中间件、缓存数据库redis等等,后面有时间希望自己再逐步添加练练手,很多东西实际工作中使用的机会少,也没有那么多时间给你慢慢调,所以,要想掌握还得自己练习。[过滤器、拦截器我后面自己又专门要记录一篇《过滤器、拦截器的区别和配置使用简例》]
总的来说,在自己从无到有创建这个demo的过程中,还是遇到了不少问题,主要是有些点使用频率低疏忽了,比如el表达式引入等等,希望自己继续努力,知行合一。
补充:
服务器启动后的项目目录结构
具体jsp的class文件的话,因为我是idea关联的,所以在用户盘下,如果是把项目放到tomcat中的,则路径不同,这点的话可参考网上这位兄弟的文章 《web项目中idea中jsp被编译后的class与java文件放在哪里》,我试过。他说的对。