- 浏览: 2182459 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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开发之第八步之渡劫初期(八)
上次,散仙给了一个关于Sping MVC注解简单的小例子,那么本次呢,给出一个稍微复杂的基于增加改查的小项目,下面先介绍下此项目对应的一些信息。
项目背景概况,此项目为了模拟开发中的实际场景,使用了2张表,具有主外键关系,一个是主表Person,另一个从表Country,比上一次的单表的增删改查骚加复杂,实为新手练手的一个好例子。
下面是功能描述:
截图,如下:
spring的配置文件:
web.xml的配置文件:
ac.xml的配置:
ac.Dao的配置文件:
控制器的核心代码:
添加的JSP页面的代码 :
最后,散仙先总结下自己写这个小项目的最大的2个收获之处:
1,关于Sping MVC的json问题,因为在项目中使用到了Ajax传参以及返回参数,所以就避免不了与json打交道,所以就需要配置Sping MVC支持json的转换,这个问题比较蛋疼,可能也是散仙还不够熟练吧,Sping MVC内置支持的json需要下载什么jakson的包,但是经过一番折腾,老是启动报错,可能是版本不一致问题,最后弃用Sping MVC的内置json功能,使用流的形式的返回json,然后进行处理,包括在Struts2里面散仙也弃用了其自身携带的json功能,而是结合json工具,比如gson,fastgson,来完成ajax的一些问题,这样以来,就很简单,而且不容易出错的出色的完成某些功能。
2,第二个收获之处,关于Sping MVC提交的数据,怎么跟后台的实体类相绑定的问题,或者实体类里面又嵌套了一个实体类这样应该如何绑定参数?
其实这些问题在struts2里面还是比较好解决的,都以后台的(Action)里面实体类的属性名绑定就OK了,简单类型person.name就在表单的name里写一致就OK了,ajax无表单情况下也是如此,如果含有嵌套类需要类似使用person.country.name这样写即可,ajax无表单提交情况一样。在Spring MVC里如果是表单提交则写name就可以,如果是ajax无表单的异步提交则需要加上双引号"country.name",类似这样,另外一点关于多选框提交时,<option>标签里一定要有值,否则获取select标签时,会出现类似400错误,而Sping后台却无任何异常,所以这一点需要重点注意一下。
上面的基本都贴出来了
新手,那些框架类的方法也写不大来。。
上面的基本都贴出来了
名称 | 描述 |
Web容器 | Tomcat6.0 |
IDE工具 | Myeclipse10.1 |
平台 | Windows |
语言 | JAVA |
JDK | 1.6 |
数据库 | MySQL5.1 |
Sping | 3.2(非Myeclipse自带,需要下载) |
Hibernate | 3.3(IDE自带) |
Jquery | 1.7.1 |
人力道具 | 屌丝软件工程师一名 |
项目背景概况,此项目为了模拟开发中的实际场景,使用了2张表,具有主外键关系,一个是主表Person,另一个从表Country,比上一次的单表的增删改查骚加复杂,实为新手练手的一个好例子。
下面是功能描述:
功能 | 描述 |
查询功能 | 默认情况下显示所有Person信息,需含有外键表的Country的name信息 |
增加功能 | 在首页上点击添加信息,跳转页面,Country信息需用下拉框显示,后台添加成功后,需要用以ajax的形式,返回响应,提示添加成功 |
修改功能 | 可以对对应的Person信息进行修改,注意下拉框与修改的Person的对应 |
删除功能 | 可以在首页上对对应的Person信息进行删除 |
截图,如下:
spring的配置文件:
<?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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" 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-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd "> <!-- 注解扫描包 --> <context:component-scan base-package="controller" /> <!-- 开启注解 --> <mvc:annotation-driven /> <!-- <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean> --> <!-- <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <property name="mediaTypes"> <map> <entry key="atom" value="application/atom+xml"/> <entry key="html" value="text/html"/> <entry key="json" value="application/json"/> </map> </property> <property name="viewResolvers"> <list> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </list> </property> <property name="defaultViews"> <list> <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" /> </list> </property> </bean> --> <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="com.qin.annocontroller.HelowWorld" ></bean> --> <!-- 注解使用的 HandlerMapping --> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> <!-- 注解使用的 HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <!-- 支持json返回 --> </bean> <!-- 声明DispatcherServlet不要拦截下面声明的目录 --> <mvc:resources location="/jquery/" mapping="/jquery/**" /> <!-- <mvc:resources location="/jsp/" mapping="/jsp/**" /> --> </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> <!-- 配置监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <!-- 第一个首先调用的前端控制器,注意与WEB-INFO下servlet的xml相对应 --> <servlet-name>qin</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>qin</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <servlet> <servlet-name>forwarding</servlet-name> <servlet-class>com.qin.sanxian.ForwardServlet</servlet-class> </servlet> <!-- 处理post提交的乱码解决 --> <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> <!-- 配置Session --> <filter> <filter-name>osiv</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>osiv</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
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="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" > <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="ninemax"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>entity/Country.hbm.xml</value> <value>entity/Person.hbm.xml</value></list> </property></bean> <!-- 配置hibernate事务管理器 --> <bean id="tx" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> </bean> <!-- 定义事务通知 --> <tx:advice id="txAdvice" transaction-manager="tx"> <tx:attributes> <tx:method name="*" propagation="REQUIRED" /> <tx:method name="get*" propagation="SUPPORTS" /> <tx:method name="find*" read-only="true" /> </tx:attributes> </tx:advice> <!-- 定义AOP切面 --> <aop:config> <aop:pointcut expression="execution(* commons.*.*(..))" id="pc" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="pc" /> </aop:config> <!-- 注入父类 --> <bean name="basedao" class="commons.BaseDao" abstract="true"> </bean> </beans>
ac.Dao的配置文件:
<?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="personDao" class="dap.impl.PersonDaoImpl" parent="basedao"></bean> <bean id="countryDao" class="dap.impl.CountryDaoImpl" parent="basedao"></bean> </beans>
控制器的核心代码:
package controller; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.google.gson.Gson; import dao.CountryDao; import dao.PersonDao; import entity.Country; import entity.Person; /** * @author 秦东亮 * 技术群:324714439 * * * */ @Controller public class PersonController { @Resource(name="personDao") private PersonDao personDao; public PersonDao getPersonDao() { return personDao; } public void setPersonDao(PersonDao personDao) { this.personDao = personDao; } @Resource(name="countryDao") private CountryDao countryDao; public CountryDao getCountryDao() { return countryDao; } public void setCountryDao(CountryDao countryDao) { this.countryDao = countryDao; } /** * 输出所有的用户信息 * * **/ @RequestMapping( value="/showAll") public String showAll(HttpServletRequest request)throws Exception{ request.setAttribute("plist", personDao.find(" from Person ")); return "showAll"; } /** * 输出所有的国家信息 * * **/ @RequestMapping( value="/add") public String add(HttpServletRequest request)throws Exception{ request.setAttribute("clist", countryDao.find(" from Country ")); return "adda"; } /** * 删除的方法 * */ @RequestMapping( value="/delete") public String delete(HttpServletRequest request)throws Exception{ int id=Integer.parseInt(request.getParameter("id")); personDao.delete(personDao.get(id)); return "redirect:/showAll"; } /** * 删除的方法 * request域的写法 * */ @RequestMapping( value="/update") public String update(HttpServletRequest request)throws Exception{ int id=Integer.parseInt(request.getParameter("id")); request.setAttribute("p", personDao.get(id)); request.setAttribute("clist", countryDao.find(" from Country ")); return "update"; } /** * 更新的操作 * 封装成实体类的写法 * */ @RequestMapping( value="/sup",method=RequestMethod.POST) public String sup(Person person,HttpServletRequest request){ try{ personDao.update(person); // System.out.println("111"); // System.out.println(person.getName()); //System.out.println(person.getCountry().getId()); //System.out.println(request.getParameter("name")); }catch (Exception e) { e.printStackTrace(); } return "redirect:/showAll"; } /** * 保存一条数据 * 没有使用实体类自动封装的功能 * * **/ @RequestMapping( value="/save",method=RequestMethod.POST) public void save(HttpServletRequest request,HttpServletResponse response)throws Exception{ // personDao.save(person);//保存成功 Person person=new Person(); person.setAge(Integer.parseInt(request.getParameter("age"))); person.setName(request.getParameter("name")); Country c=new Country(); c.setId(Integer.parseInt(request.getParameter("cid"))); person.setCountry(c); personDao.save(person); //System.out.println("cid : "+request.getParameter("cid")); Gson g=new Gson(); // List<String> list=new ArrayList<String>(); // list.add("A"); // list.add("B"); // list.add("C"); // list.add("D"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=utf-8"); //response.getWriter().write(g.toJson(list)); response.getWriter().write(g.toJson("添加成功!")); // response.getWriter().write("1"); } /** * 保存一条数据 * 基于ajax的json自动封装的 * 实体类 * 注意有嵌套类时的 * 写法"county.id" * * **/ @RequestMapping( value="/savetwo",method=RequestMethod.POST) public void savetwo(Person person,HttpServletRequest request,HttpServletResponse response)throws Exception{ personDao.save(person);//保存成功 // System.out.println(person); //System.out.println("cid : "+request.getParameter("cid")); Gson g=new Gson(); // List<String> list=new ArrayList<String>(); // list.add("A"); // list.add("B"); // list.add("C"); // list.add("D"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=utf-8"); //response.getWriter().write(g.toJson(list)); response.getWriter().write(g.toJson("添加成功!")); // response.getWriter().write("1"); } }
添加的JSP页面的代码 :
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'add.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="jquery/jquery-1.7.1.min.js"></script></head> <script type="text/javascript"> /* $(function(){ $("#btn").bind('click',function(){ alert('123'); var name=$("#name").val(); var age=$("#age").val(); var cid=$("#cid").val(); $.ajax({ type:"post", url:"save", data:{name:name,age:age,country.id=cid}, dataType:"json", success: function(msg) { alert(msg) } }); }); }); */ function qin(){ var name=$("#name").val(); var age=$("#age").val(); var cid=$("#cid").val(); $.ajax({ type:"post", url:"savetwo", data:{name:name,age:age,"country.id":cid}, // data:{name:name,age:age,cid:cid}, dataType:"json", success: function(msg) { alert(msg) location.href = "showAll"; } }); } </script> <body> 名字: <input id="name" name="name"><br> 年龄:<input id="age" name="age"><br> 请选择国家: <select id="cid" name="cname" > <c:forEach items="${clist }" var="c"> <option value="${c.id}" >${c.cname} </option> </c:forEach> </select> <button id="btn" onclick="qin()" >提交</button> </body> </html>
最后,散仙先总结下自己写这个小项目的最大的2个收获之处:
1,关于Sping MVC的json问题,因为在项目中使用到了Ajax传参以及返回参数,所以就避免不了与json打交道,所以就需要配置Sping MVC支持json的转换,这个问题比较蛋疼,可能也是散仙还不够熟练吧,Sping MVC内置支持的json需要下载什么jakson的包,但是经过一番折腾,老是启动报错,可能是版本不一致问题,最后弃用Sping MVC的内置json功能,使用流的形式的返回json,然后进行处理,包括在Struts2里面散仙也弃用了其自身携带的json功能,而是结合json工具,比如gson,fastgson,来完成ajax的一些问题,这样以来,就很简单,而且不容易出错的出色的完成某些功能。
2,第二个收获之处,关于Sping MVC提交的数据,怎么跟后台的实体类相绑定的问题,或者实体类里面又嵌套了一个实体类这样应该如何绑定参数?
其实这些问题在struts2里面还是比较好解决的,都以后台的(Action)里面实体类的属性名绑定就OK了,简单类型person.name就在表单的name里写一致就OK了,ajax无表单情况下也是如此,如果含有嵌套类需要类似使用person.country.name这样写即可,ajax无表单提交情况一样。在Spring MVC里如果是表单提交则写name就可以,如果是ajax无表单的异步提交则需要加上双引号"country.name",类似这样,另外一点关于多选框提交时,<option>标签里一定要有值,否则获取select标签时,会出现类似400错误,而Sping后台却无任何异常,所以这一点需要重点注意一下。
评论
3 楼
u013794332
2014-04-21
qindongliang1922 写道
u013794332 写道
请问有这个例子的源码吗
上面的基本都贴出来了
新手,那些框架类的方法也写不大来。。
2 楼
qindongliang1922
2014-04-20
u013794332 写道
请问有这个例子的源码吗
上面的基本都贴出来了
1 楼
u013794332
2014-04-19
请问有这个例子的源码吗
发表评论
-
在spring-boot中使用@ConfigurationProperties
2017-10-28 19:24 1921@ConfigurationProperties注解的作用 ... -
如何在Spring Boot项目使用参数校验
2016-11-02 16:30 6552开发web项目有时候我们需要对controller层传过来的参 ... -
Spring-Boot中如何使用多线程处理任务
2016-08-25 19:36 5958[size=medium]看到这个标题,相信不少人会感到 ... -
使用SpringBoot1.4.0的一个坑
2016-08-16 10:08 7348时隔半年,再次使用Spring Boot快速搭建微服务,半 ... -
如何在Spring中注入ElasticSearch实例
2016-04-06 18:44 6301在企业级项目开发中,大多数公司都会集成Spring来简化开发 ... -
IntelliJ IDEA中使用svn遇到的小问题
2015-06-04 20:20 3481今天在用新装的IDEA 14. ... -
Spring Boot开发之弄月吟风 (三)
2015-04-27 21:11 8505今天来看下,如何在Spring Boot中使用热加载和集成V ... -
Spring Boot开发之流水无情(二)
2015-04-26 19:45 11770上篇散仙写了一个很 ... -
Spring Boot开发之明月千城(一)
2015-04-24 01:27 16608最近数据分析的项目也即将告一段落了,中间也积累了很多知识 ... -
记一次log4j日志文件小事故
2015-01-30 21:31 2502最近散仙在做公司的一个跟搜索有关的数据分析(Pig+Hadoo ... -
Struts2+Hibernate+Spring之3大框架集成小例子
2014-03-16 23:10 3622SSH框架集成,可以说是J ... -
了解HTTP协议
2014-02-23 11:08 809http协议全称超文本传 ... -
Spring MVC+MyBatics+Spring集成小例子
2014-01-12 15:56 3160散仙,在前面的博客中写过一篇,Spirng MVC+Hiber ... -
Spring项目的几种乱码问题解决思路
2014-01-12 14:33 1688与Spring结合做Web项目时,常常会出现乱码情况,这时候, ... -
配置Mybatics的XML文件的自动提示功能
2014-01-12 14:03 3344配置Mybatics的mapper文件的自动提示功能, M ... -
Spring MVC+SimpleJdbcDaoSupport增删改查小例子
2014-01-03 17:38 2417散仙,上次给的例子是基于Spring MVC+JDBC的方式做 ... -
基于Spirng MVC注解入门
2014-01-01 23:21 1284spring2.5引入注解式处理器支持,通过@Controll ... -
Spring+Spring MVC+JDBC增删改查小例子
2014-01-01 21:52 3759此篇文章,也是作为入门时的一个小练习例子,使用的是JDBC完成 ... -
Spring MVC入门小例子
2014-01-01 21:36 3265入门Spring MVC也有一段时间了,今天写篇文章总结一下 ... -
JSP下载中文名乱码问题
2013-12-30 19:02 1272上传下载功能,几乎是 ...
相关推荐
spring mvc + spring + hibernate 全注解整合开发视频教程 06.haozip03
01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
对于Spring+Spring MVC+Hibernate的项目,你需要引入以下关键依赖: 1. Spring的核心库,提供依赖注入和AOP支持。 2. Spring MVC,用于处理HTTP请求和响应,实现Web应用的前端控制器。 3. Hibernate,作为ORM框架,...
在本视频教程“Spring MVC + Spring + Hibernate 全注解整合开发视频教程 04”中,我们将深入探讨Java企业级开发中的三大核心技术——Spring、Spring MVC和Hibernate的集成与应用,尤其是通过注解实现的简化配置。...
标题 "Extjs + Spring MVC + hibernate + mysql" 涉及的是一个综合性的Web应用程序开发框架,结合了前端UI库、后端MVC框架、ORM工具和关系型数据库。让我们详细了解一下这些技术及其在实际项目中的应用。 1. ExtJS...
在搭建Spring+Spring MVC+Hibernate的开发环境时,首先需要在项目中引入这三个框架的依赖库。通常,这可以通过Maven或Gradle等构建工具完成。然后,配置Spring的IoC容器,包括定义bean的实例化方式、初始化参数等。...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第12部分,将帮助开发者掌握如何在Java Web项目中高效地集成这三个核心框架,实现松耦合、可...
《基于Spring MVC+Spring+Hibernate+Bootstrap+MySQL的考勤及薪酬管理系统详解》 在现代企业信息化管理中,考勤和薪酬管理是至关重要的部分,它们直接影响到员工的工作积极性和公司的运营效率。本文将深入探讨一个...
spring mvc + spring + hibernate 全注解整合开发视频教程 06.haozip02
【学生成绩管理系统】是一个基于Java技术的毕业设计项目,采用了经典的SSH(Spring MVC、Hibernate、Spring)框架组合,以及前端界面库EasyUI。这个系统的主要目标是为教育机构提供一个高效、便捷的学生分数记录与...
在本项目中,我们利用了Java技术栈中的四个核心组件:Spring MVC、Spring、Hibernate以及Bootstrap,构建了一个全面的图书管理系统。这个系统旨在提供高效、用户友好的图书管理功能,涵盖了从图书入库、检索到借阅、...
在本视频教程“Spring MVC + Spring + Hibernate 全注解整合开发 03”中,我们将深入探讨Java企业级开发中的三大核心框架——Spring、Spring MVC和Hibernate的整合应用,尤其是利用注解进行的无XML配置。以下是这些...
spring+spring mvc+hibernate+easyui+jquery+ehcache http://localhost:8080/admin/index 账号HBU001 111111 管理员admin admin 注意事项 1.系统的默认用户超级管理员:admin(密码:admin)。系统的操作:用户超级...
**Spring MVC与Hibernate集成**:Spring通过SessionFactoryBean和HibernateTransactionManager等组件帮助整合Hibernate,实现了事务的统一管理和数据访问的透明化。开发者可以使用@Autowired注解注入SessionFactory...
【Spring MVC + Hibernate + MySQL 整合详解】 在IT领域,Spring MVC、Hibernate和MySQL是构建Web应用程序的常用技术栈。Spring MVC作为Spring框架的一部分,提供了强大的MVC(Model-View-Controller)架构,用于...
标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...
在本实例中,"spring4MVC+Hibernate4实例(增删改查)"是一个基于Maven构建的Java Web项目,旨在演示如何整合Spring MVC和Hibernate框架来实现数据的CRUD(创建、读取、更新和删除)操作。Spring MVC是Spring框架的...
这个简单的HelloWorld实例展示了Spring MVC和Hibernate的集成,以及如何进行基本的数据验证。 通过这个实例,你可以了解到如何将Spring MVC用于处理HTTP请求,使用Hibernate进行数据库操作,以及如何结合Spring的...
maven + spring mvc + hibernate 项目,本项目实现了数据库的增加、删除、修改、查询。还实现了用户登录、注册、分页等功能。非常适合刚学spring mvc3初学者和有一定基础的爱好者。