Spring、SpringMVC、SpringData + JPA 整合详解
2017-11-01 14:00
701 查看
之前详细讲解过了 JPA 和 SpringData,包括 Spring 和 SpringMVC 也进行了详细的讲述。很早就想来一个整合了,因为事情比较多,所以就一直拖着。
那么现在就来说说 Spring + SpringMVC + SpringData + JPA(下文中简写为 SSSP) 的整合,SSSP 的整合之后再来写一个 CRUD 的小案例,LZ 不打算把增删改查都来一遍了,只介绍一个查询所有员工信息,然后分页显示即可。大家可以对比在 JavaWeb 的过程中写的分页查询,看一看是否简单的许多。下面进行详细的介绍~
1. 首先当然要新建一个动态的 WEB 的工程了,取名 sssp
2. 加入 Spring 的 jar 包,观察这些 jar 包,大家可以发现其中既包含了 Spring 的 jar 包,也包含了 SpringMVC 的 jar 包
3. web.xml 中配置启动 Spring IOC 的 ContextLoaderListener:
其中 LZ 配置的 Spring 的配置文件在 classpath 下,取名为 applicationContext.xml
4. 这一步当然就是在类路径下创建 Spring 的配置文件:applicationContext.xml 了,在这里先创建好,稍后进行配置。
1. 首先呢肯定要想到的是先导入 jar 包,这里在加入 Spring 的时候已经导入,前面也已经做了说明。
2. web.xml 中配置 SpringMVC 的 DispatcherServlet
在这里呢 LZ 删除了一部分配置,我们使用默认的 SpringMVC 的配置文件,这个默认的 SpringMVC 的配置文件的名字为 :springDispatcherServlet-servlet.xml ,需要注意的是,若使用默认的配置文件,文件的位置需要在
WEB-INF 目录下
3. 在 WEB-INF 目录下新建 SpringMVC 的配置文件: springDispatcherServlet-servlet.xml (注意:LZ 的 Eclipse 中是安装了 Spring 插件的,实质上 LZ 使用 Spring 的插件创建了 SpringMVC 的配
b604
置文件,只是文件名不同而已)
4. 然后我们对 SpringMVC 的配置文件 springDispatcherServlet-servlet.xml 进行配置
1)加入命名空间,因为我们在新建配置文件的时候没有加入命名空间,所以先加入 context 和 mvc 的命名空间。那么如何加入呢,当我们打开 SpringMVC 的配置文件后,大家可以看到文件的左下角有一些选项卡(如下面图片所示),大家点击第二个选项 Namespaces,
点开后大家吧 context 和 mvc 选项挑上对勾即可。
2)配置自动扫描的包
在配置自动扫描的包时,LZ 使用了 context:include-filter 子标签,目的就是让
SpringMVC 只扫描带有 @Controller 和 @ControllerAdvice 注解的包中的类,为什么要这样做呢?因为我们加入 Spring 的时候只创建了 Spring 的配置文件,还没有进行配置,一会我们配置的时候,也会先配置 Spring 的 IOC 扫描的包,这样就有可能出现某些包 Spring 的容器扫描了一遍,SpringMVC 又扫描了一遍,这样就会造成有些对象会创建多次,造成资源的浪费,配置
context:include-filter 标签就是为了解决这个问题,让 Spring 和 SpringMVC 只扫描各自关注的包即可。
本文由“程序员小专家”发布,2017年11月2日
那么现在就来说说 Spring + SpringMVC + SpringData + JPA(下文中简写为 SSSP) 的整合,SSSP 的整合之后再来写一个 CRUD 的小案例,LZ 不打算把增删改查都来一遍了,只介绍一个查询所有员工信息,然后分页显示即可。大家可以对比在 JavaWeb 的过程中写的分页查询,看一看是否简单的许多。下面进行详细的介绍~
一、加入 Spring
1. 首先当然要新建一个动态的 WEB 的工程了,取名 sssp2. 加入 Spring 的 jar 包,观察这些 jar 包,大家可以发现其中既包含了 Spring 的 jar 包,也包含了 SpringMVC 的 jar 包
3. web.xml 中配置启动 Spring IOC 的 ContextLoaderListener:
1 <!-- 配置启动 Spring IOC 的 Listener --> 2 <context-param> 3 <param-name>contextConfigLocation</param-name> 4 <param-value>classpath:applicationContext.xml</param-value> 5 </context-param> 6 7 <listener> 8 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 9 </listener>
其中 LZ 配置的 Spring 的配置文件在 classpath 下,取名为 applicationContext.xml
4. 这一步当然就是在类路径下创建 Spring 的配置文件:applicationContext.xml 了,在这里先创建好,稍后进行配置。
二、加入 SpringMVC
1. 首先呢肯定要想到的是先导入 jar 包,这里在加入 Spring 的时候已经导入,前面也已经做了说明。2. web.xml 中配置 SpringMVC 的 DispatcherServlet
1 <!-- 配置 SpringMVC 的 DispatcherServlet --> 2 <!-- 使用默认的 SpringMVC 的配置文件,为 [servlet-name]-servlet.xml 放到 WEB-INF 目录下 --> 3 <servlet> 4 <servlet-name>springDispatcherServlet</servlet-name> 5 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 6 <load-on-startup>1</load-on-startup> 7 </servlet> 8 9 <servlet-mapping> 10 <servlet-name>springDispatcherServlet</servlet-name> 11 <url-pattern>/</url-pattern> 12 </servlet-mapping>
在这里呢 LZ 删除了一部分配置,我们使用默认的 SpringMVC 的配置文件,这个默认的 SpringMVC 的配置文件的名字为 :springDispatcherServlet-servlet.xml ,需要注意的是,若使用默认的配置文件,文件的位置需要在
WEB-INF 目录下
3. 在 WEB-INF 目录下新建 SpringMVC 的配置文件: springDispatcherServlet-servlet.xml (注意:LZ 的 Eclipse 中是安装了 Spring 插件的,实质上 LZ 使用 Spring 的插件创建了 SpringMVC 的配
b604
置文件,只是文件名不同而已)
4. 然后我们对 SpringMVC 的配置文件 springDispatcherServlet-servlet.xml 进行配置
1)加入命名空间,因为我们在新建配置文件的时候没有加入命名空间,所以先加入 context 和 mvc 的命名空间。那么如何加入呢,当我们打开 SpringMVC 的配置文件后,大家可以看到文件的左下角有一些选项卡(如下面图片所示),大家点击第二个选项 Namespaces,
点开后大家吧 context 和 mvc 选项挑上对勾即可。
2)配置自动扫描的包
1 <!-- 配置自动扫描的包:只扫描有 @Controller 和 @ControllerAdvice 注解的包 --> 2 <context:component-scan base-package="com.software.sssp" use-default-filters="false"> 3 <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /> 4 <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice" /> 5 </context:component-scan>
在配置自动扫描的包时,LZ 使用了 context:include-filter 子标签,目的就是让
SpringMVC 只扫描带有 @Controller 和 @ControllerAdvice 注解的包中的类,为什么要这样做呢?因为我们加入 Spring 的时候只创建了 Spring 的配置文件,还没有进行配置,一会我们配置的时候,也会先配置 Spring 的 IOC 扫描的包,这样就有可能出现某些包 Spring 的容器扫描了一遍,SpringMVC 又扫描了一遍,这样就会造成有些对象会创建多次,造成资源的浪费,配置
context:include-filter 标签就是为了解决这个问题,让 Spring 和 SpringMVC 只扫描各自关注的包即可。
本文由“程序员小专家”发布,2017年11月2日
相关文章推荐
- Spring,SpringMVC,Jpa,SpringData 整合的问题
- 纯Java配置SpringMvc整合Spring-Data-JPA
- SpringMVC4+JPA(Hibernate4)+Spring-data-jpa+Shiro整合
- 在Spring整合 SpringMVC,SpringData和 JPA 时,如何解决 Lazy懒加载问题?
- 整合 SpringMVC 5.0 SpringDataJPA 2.0 Hibernate 5
- springMVC、spring、jpa、springData整合配置
- SpringBoot开发案例之整合Spring-data-jpa进阶篇
- (转载)Spring data jpa 详解
- 【原创】纯干货,Spring-data-jpa详解,全方位介绍。
- 纯干货,Spring-data-jpa详解(转)
- spring data jpa使用详解
- 纯干货,Spring-data-jpa详解,全方位介绍。
- springboot整合swagger UI 、spring-data-JPA
- Spring Data Jpa 详解
- 纯干货,Spring-data-jpa详解,全方位介绍
- spring data jpa bootstrap table 后端分页(详解)
- Spring Data JPA @EnableJpaRepositories配置详解
- SpringMVC4 + Spring Data JPA + SpringSecurity
- 12. spring4.1.6+spring mvc4.1.6+spring data jpa1.7.0+maven整合
- 从头开始写项目【一】(Spring-SpringMVC-SpringDataJPA-Hibernate)