IDEA上快速搭建基于maven的Spring MVC项目步骤[补充]

因为篇幅问题,《IDEA上快速搭建基于maven的Spring MVC项目步骤》到具体框架配置部分后面内容转到这篇下继续。

具体的配置信息基本上都放了截图和引用。

这里先给出demo项目的基本结构截图,实际项目结构目录可能会有所不同,但基本的结构关系应该大同小异。末尾还放了服务器启动后的项目目录结构。



这里再贴一下mybaits的配置文件和数据源配置,都是基本的配置。


1、spring-datasource.xml的DEMO详情


spring-datasource.xml


spring-datasource.xml


spring-datasource.xml


spring-datasource.xml


<?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详情


mybatis_config.xml

<?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的简单截图


controller



service接口


service实现类


dao接口


mapper.xml


model


首页jsp页面


测试的jsp页面


这是之前配置的错误页面,直接用了html静态页面




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文件放在哪里》,我试过。他说的对。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343