- 浏览: 2148493 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
散仙,上次给的例子是基于Spring MVC+JDBC的方式做的持久层,本次就来个稍微高级点的使用Spring MVC+JDBC持久模板的方式,来完成一个基于Web的增删改查的小项目,后面会给出基于MyBatics,或Hibernate,JPA方式做持久层,基于Spring MVC整合的小例子。
下面先简单介绍下开发环境:
下面开始开工,在这之前,先来个项目的结构截图,来看下整体概貌。
ac.xml里面的配置:
qin-servlet.xml里面的配置:
web.xml里面的配置:
怎么样,是不是有种熟悉的感觉,这个小项目是基于XML的方式配置Controller的,并没有使用注解的方式,每一个控制器,还是对应一个实体类,
需要重点说明的是src目录下的ac.xml和WEB-INFO下面的qin-servlet.xml这两者之间的关系
,其实,他们的功能大部分时候都是一样的,只是在src目录下的ac.xml,感觉用来和Struts的项目结合的多一些,不过只要当服务器启动的时候,这两个spring的配置文件都会被加载,有一点不同的是,Spring MVC的一些控制器实例,只能在qin-servlet.xml里面,进行实例化,以及一些具体的控制器里面的一些实体类的注入,也需要在这里面进行。其他的功能,比如说事务的功能,AOP的功能,在这两个xml任意一个里面配置都可以。
不客气,已经上传了!加油!
下面先简单介绍下开发环境:
道具 | 名称 |
IDE工具 | MyEclipse10 |
web容器 | Tomcat6 |
JDK版本 | 1.7 |
数据库 | MySQL5.1 |
环境 | Windows |
最重要的道具 | 屌丝程序员一枚 |
下面开始开工,在这之前,先来个项目的结构截图,来看下整体概貌。
ac.xml里面的配置:
<?xml version="1.0" encoding="UTF-8"?> <beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd "> <!-- 读取配置文件 --> <bean id="config" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>classpath:connection.properties</value> </property> </bean> <!-- 配置事务管理 --> <bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> </bean> <!-- 配置数据源 --> <bean id="dataSource" name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="username" value="${db.username}"></property> <property name="password" value="${db.password}"></property> <property name="url" value="${db.url}"></property> <property name="driverClassName" value="${db.driver}"></property> </bean> <!-- 定义事务通知 --> <tx:advice id="txAdvice" transaction-manager="tx"> <tx:attributes> <tx:method name="*" propagation="REQUIRED"/> <tx:method name="get*" propagation="REQUIRED"/> <tx:method name="add*" propagation="SUPPORTS"/> <tx:method name="delete*" propagation="SUPPORTS"/> <tx:method name="update*" propagation="SUPPORTS"/> </tx:attributes> </tx:advice> <!-- 定义aop切面 --> <aop:config> <aop:pointcut expression="execution(* com.qin.dao.impl.*.*(..))" id="pc"/> <aop:advisor pointcut-ref="pc" advice-ref="txAdvice"/> </aop:config> <!-- 注入数据源 --> <bean name="dao" class="com.qin.dao.impl.UserModelImpl"> <property name="dataSource" ref="dataSource"></property> </bean> </beans>
qin-servlet.xml里面的配置:
<?xml version="1.0" encoding="UTF-8"?> <beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- HandlerMapping --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!-- ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 表单映射器 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="add">add</prop> <prop key="save">save</prop> </props> </property> </bean> <!-- 处理器 --> <bean name="/hellow" class="com.qin.controller.HellowController"/> <bean name="/indexAll" class="com.qin.controller.QueryAllUserController"> </bean> <bean id="add" name="/add" class="com.qin.controller.AddController"></bean> <bean name="/delete" class="com.qin.controller.DeleteController"></bean> <bean name="/update" class="com.qin.controller.UpdateController"></bean> <bean id="save" name="/save" class="com.qin.controller.SaveController"></bean> </beans>
web.xml里面的配置:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:ac*.xml</param-value> </context-param> <servlet> <servlet-name>qin</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- 配置拦截 action为后缀名的请求 --> <servlet-mapping> <servlet-name>qin</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
怎么样,是不是有种熟悉的感觉,这个小项目是基于XML的方式配置Controller的,并没有使用注解的方式,每一个控制器,还是对应一个实体类,
需要重点说明的是src目录下的ac.xml和WEB-INFO下面的qin-servlet.xml这两者之间的关系
,其实,他们的功能大部分时候都是一样的,只是在src目录下的ac.xml,感觉用来和Struts的项目结合的多一些,不过只要当服务器启动的时候,这两个spring的配置文件都会被加载,有一点不同的是,Spring MVC的一些控制器实例,只能在qin-servlet.xml里面,进行实例化,以及一些具体的控制器里面的一些实体类的注入,也需要在这里面进行。其他的功能,比如说事务的功能,AOP的功能,在这两个xml任意一个里面配置都可以。
- SpringMVC.zip (777.8 KB)
- 下载次数: 268
评论
2 楼
qindongliang1922
2014-01-06
aboutnull 写道
大神您好 您的源码可以给借鉴借鉴不
不客气,已经上传了!加油!
1 楼
aboutnull
2014-01-06
大神您好 您的源码可以给借鉴借鉴不
发表评论
-
在spring-boot中使用@ConfigurationProperties
2017-10-28 19:24 1890@ConfigurationProperties注解的作用 ... -
如何在Spring Boot项目使用参数校验
2016-11-02 16:30 6512开发web项目有时候我们需要对controller层传过来的参 ... -
Spring-Boot中如何使用多线程处理任务
2016-08-25 19:36 5911[size=medium]看到这个标题,相信不少人会感到 ... -
使用SpringBoot1.4.0的一个坑
2016-08-16 10:08 7300时隔半年,再次使用Spring Boot快速搭建微服务,半 ... -
如何在Spring中注入ElasticSearch实例
2016-04-06 18:44 6241在企业级项目开发中,大多数公司都会集成Spring来简化开发 ... -
IntelliJ IDEA中使用svn遇到的小问题
2015-06-04 20:20 3369今天在用新装的IDEA 14. ... -
Spring Boot开发之弄月吟风 (三)
2015-04-27 21:11 8457今天来看下,如何在Spring Boot中使用热加载和集成V ... -
Spring Boot开发之流水无情(二)
2015-04-26 19:45 11697上篇散仙写了一个很 ... -
Spring Boot开发之明月千城(一)
2015-04-24 01:27 16555最近数据分析的项目也即将告一段落了,中间也积累了很多知识 ... -
记一次log4j日志文件小事故
2015-01-30 21:31 2459最近散仙在做公司的一个跟搜索有关的数据分析(Pig+Hadoo ... -
Struts2+Hibernate+Spring之3大框架集成小例子
2014-03-16 23:10 3573SSH框架集成,可以说是J ... -
了解HTTP协议
2014-02-23 11:08 755http协议全称超文本传 ... -
Spring MVC+MyBatics+Spring集成小例子
2014-01-12 15:56 3130散仙,在前面的博客中写过一篇,Spirng MVC+Hiber ... -
Spring项目的几种乱码问题解决思路
2014-01-12 14:33 1653与Spring结合做Web项目时,常常会出现乱码情况,这时候, ... -
配置Mybatics的XML文件的自动提示功能
2014-01-12 14:03 3300配置Mybatics的mapper文件的自动提示功能, M ... -
Spring MVC+Hibernate+Spring集成小例子
2014-01-08 20:30 4495上次,散仙给了一个关于Sping MVC注解简单的小例子,那么 ... -
基于Spirng MVC注解入门
2014-01-01 23:21 1227spring2.5引入注解式处理器支持,通过@Controll ... -
Spring+Spring MVC+JDBC增删改查小例子
2014-01-01 21:52 3716此篇文章,也是作为入门时的一个小练习例子,使用的是JDBC完成 ... -
Spring MVC入门小例子
2014-01-01 21:36 3215入门Spring MVC也有一段时间了,今天写篇文章总结一下 ... -
JSP下载中文名乱码问题
2013-12-30 19:02 1240上传下载功能,几乎是 ...
相关推荐
前期项目 Spring+Spring MVC+JDBC Template 增删改查,包含建库,前端加后台
maven+spring-mvc+spring+mybatis增删改查的小例子
struts2+spring+mybatis增删改查小例子,适合初学者学习
springboot+vue+element增删改查Demo 集成了: 1. restful接口定义 2. 增删改查定义,路径参数定义 3. 跨域处理 4. 参数校验 5. 异常拦截 6. swagger文档 7. 测试用例 8. logback...
SpringMVC+Spring+HIbernate增删改查,MyEclipse项目
Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例.zip
spring+struts2+hibernate 增删改查
spring+mvc+mybatis+mysql+jsp 实现用户登录、注册功能 进入系统,实现用户的查询、修改、删除、更新 导入项目,请修改数据库配置文件,运行创建表并插入数据 初始登录用户名:admin1 密码:123456
maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查...
这是通过ssm+layui 实现的简单的对数据表格的增删改查,所有页面纯由layui实现。如果你是新手学习layui,那这个绝对会对你有很大的帮助; 如果你之前已经学过甚至已经使用过,那这个可以当做一个参考
spring mvc + mybatis + maven + easyui + oracle 数据库实现增删改查
简易的用Spring Mvc+Mybatis框架组合实现对数据的增删改查,代码量极少,更易于扩展,对数据的操作很灵活。
一个增删改查的实例,是Maven项目,REST风格
SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查功能设计一个简单的学生信息管理系统,要求使用SSM框架技术整合实现,用户登录后能够通过Web页面添加、删除、修改和查询学生信息 ...
myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版,可在myEclipse2013自带的Tomcat 7上运行,weblogic上可能有问题,有ModelMap 和ModelAndView的简单使用比较,ModelMap用起来更方便简洁。也使用到了c...
SpringBoot+MyBatisPlus+Thymeleaf 增删改查CRUD 功能
Struts2+Hibernate+Spring整合后的增删改查 内有jar包,每个类中都有注释。清晰简单。一目了然。没有任何杂乱代码。 运行正常,数据库是mysql数据库。适合初学者参考。
spring boot+mysql进行简单的增删改查demo,适合新手查看练手,之前不知道怎么积分变多了,重新更改下积分上传
为简单起见,只建了一张数据表,模拟对一张表的 增 删 改 查 等Web开发常用的技术 适合刚接触hibernate+spring的java开发者