SSM框架 详细整合教程(Spring+SpringMVC+MyBatis)
- 格式:pdf
- 大小:590.00 KB
- 文档页数:20
SpringMVC+Spring+Hibernate框架整合原理,作⽤及使⽤⽅法SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使⽤spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎原理:SpringMVC:1.客户端发送请求到DispacherServlet(分发器)2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller3.Controller调⽤业务逻辑处理后,返回ModelAndView4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图5.视图负责将结果显⽰到客户端Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们中的类,当然也包括service dao⾥⾯的),有了这个机制,我们就不⽤在每次使⽤这个类的时候为它初始化,很少看到关键字new。
另外spring的aop,事务管理等等都是我们经常⽤到的。
Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。
mybatis的操作都是围绕⼀个sqlSessionFactory实例展开的。
mybatis通过配置⽂件关联到各实体类的Mapper⽂件,Mapper⽂件中配置了每个类对数据库所需进⾏的sql语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到⼀个sqlSession,再执⾏sql命令。
使⽤⽅法:要完成⼀个功能:1. 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
2. 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进⾏的那些操作,⽐如 insert、selectAll、selectByKey、delete、update等。
SSM框架整合⼀、SSM框架整合前⾔ 如果是初次接触SSM整合的朋友,那么最好是完全按照这个步骤来,包括各个起名。
等项⽬正常跑起来再按⾃⼰的想法搭建⼀次会⽐较好。
⼆、SSM框架介绍 SSM框架,emmmmm,没啥好介绍的,⽤起来很快捷很优美,极⼤地简化开发⼯作AND布拉布拉布拉。
三、整合步骤 1.建⼯程,建⽬录,导⼊jar包。
如图所⽰。
如何项⽬没有⾃动⽣成web.xml⽂件,要⼿动创建,注意在WEB-INF⽂件夹下。
jar包有点多了,显⽰不全。
2.各种⽂件配置 这两步⾮常关键,⼀定要注意名称是否正确,错了就会在控制台报些你可能觉得莫名其妙的错误。
然后这⼀步我就贴这些配置⽂件的代码了。
1.web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee" xmlns:web="/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="<display-name>SSM</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter><filter-name>encodingFilter</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><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 加载spring与mybatis和service粘合的配置⽂件 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:config/applicationContext-*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><listener><listener-class>org.springframework.web.context.ContextCleanupListener</listener-class></listener><!-- 加载springmvc配置⽂件 --><servlet><servlet-name>mvc-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc-dispatcher</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping></web-app>View Code 2.springmvc.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/mvc/schema/mvc/spring-mvc.xsd"><!-- 组件扫描 --><context:component-scan base-package="com.zhx.controller"/><!-- 注解驱动器 --><mvc:annotation-driven/><!-- 静态资源处理 --><mvc:default-servlet-handler/><!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/></bean></beans>View Code 3.db.properties 这⾥的数据库名字叫做newsdb.driver=com.mysql.jdbc.Driverdb.url=jdbc:mysql://127.0.0.1:3306/news?characterEncoding=utf8ername=rootdb.password=rootView Code 4.mybatis.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><typeAliases><package name="com.zhx.pojo"/></typeAliases><mappers><mapper resource="com/zhx/mappers/UserMapper.xml"/></mappers></configuration>View Code 5.applicationContext-service.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:context="/schema/context" xmlns:p="/schema/p"xmlns:aop="/schema/aop" xmlns:tx="/schema/tx"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-4.0.xsd /schema/context /schema/context/spring-context-4.0.xsd/schema/aop /schema/aop/spring-aop-4.0.xsd/schema/tx/schema/tx/spring-tx-4.0.xsd/schema/util /schema/util/spring-util-4.0.xsd"><!-- 扫描 --><context:component-scan base-package="com.zhx"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 数据源 --><property name="dataSource" ref="dataSource" /></bean><!-- 通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 传播⾏为 --><tx:method name="save*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="find*" propagation="SUPPORTS" read-only="true" /><tx:method name="get*" propagation="SUPPORTS" read-only="true" /></tx:attributes></tx:advice><!-- 切⾯ --><aop:config><aop:advisor advice-ref="txAdvice"pointcut="execution(* com.zhx.service.*.*(..))" /></aop:config></beans>View Code 6.applicationContext-dao.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/mvc/schema/mvc/spring-mvc.xsd"><!-- 加载配置⽂件 --><context:property-placeholder location="classpath:config/db.properties" /><!-- 数据库连接池 --><bean id="dataSource" class="mons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="${db.driver}" /><property name="url" value="${db.url}" /><property name="username" value="${ername}" /><property name="password" value="${db.password}" /><property name="maxActive" value="10" /><property name="maxIdle" value="5" /></bean><!-- 创建SqlSessionFactory --><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation" value="classpath:config/mybatis.xml"/><property name="dataSource" ref="dataSource"/></bean><!-- 批量配置mapper代理类,默认bean的id为类名⾸字母⼩写 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 配置扫描的包 --><property name="basePackage" value="com.zhx.dao"/><!-- 默认不需要配置SqlSessionFactory(只有⼀个SqlSessionFactory时),单独配置也可以 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/></bean></beans>View Code 3.进⾏数据库配置,直接上图在⾥⾯添加了⼀条数据。
详解intellijidea搭建SSM框架(spring+maven+mybatis+my。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合⽽成,常作为数据源较简单的web项⽬的框架。
其中spring是⼀个轻量级的控制反转(IoC)和⾯向切⾯(AOP)的容器框架。
SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的⾓⾊,这种分离让它们更容易进⾏定制。
MyBatis是⼀个⽀持普通SQL查询,存储过程和⾼级映射的优秀持久层框架。
本⽂旨在快速且详细的介绍intellij idea 搭建SSM框架的过过程,特别适合对SSM框架不是很熟且感兴趣的朋友。
v准备⼯作开发环境准备1. apache-tomcat-9.02. apache-maven3. MySQL4. workbench5. Java jdk6. IntelliJ IDEA对于如上这类应⽤的配置,⽹上已经有很多现成的⽅案了,基本操作也⽐较简单,这⾥就不再单独介绍了。
配置好这些就可以开始搭建框架了。
v创建项⽬点击Next,填写GroupId、ArtifactId(groupId⼀般是域名的反写,也作为项⽬中类的包名,artifactId是⼯程名,也就是根⽂件夹名)然后next,选择本地maven的位置继续next,选择项⽬保存的位置创建完后的项⽬结构如图:项⽬结构简介:.idea⽂件夹和helloworld.iml是idea的⼀些配置⽂件,我们不⽤管,就算删了也没事,当然删了,重新打开项⽬,就得重新配置了src⽂件夹就是我们放项⽬代码的地⽅pom.xml是maven的配置⽂件,我们需要什么jar包,都可以在⾥⾯添加依赖,然后maven就会⾃⼰帮我们下到本地仓库⾥⾯接下来就需要创建构思项⽬所需的⽂件结构,main下新建⼀个java,⽤来放java⽂件,src下新建⼀个test,⽤来放测试⽂件,main下新建⼀个resources⽂件夹,⿏标右键,找到makedirectory as,选择Resources root 如下图:接下来继续完善项⽬结构:1. 在main的java⽂件夹上,⿏标右键,找到 make directory as,选择Sources root(如上图,下同)2. 在test的java⽂件夹上(如没有java⽂件,则⼿动创建,下同),⿏标右键,找到make directory as,选择Test Sources root3. 在test的resources⽂件夹上,⿏标右键,找到make directory as,选择Test Resources root4. src->main->java下新建package com,再新建package springmvc,这两个对应我们刚开始的groupid5. springmvc包下新建四个包,controller包⽤来放前台url映射⽂件,dao⽤来放与数据库的接⼝⽂件,entity⽤来放实体类⽂件,service⽤来放⾃⼰定义的接⼝6. applicationContext.xml是spring配置⽂件7. sqlmap⽂件夹⾥⾯放实体与数据库的映射⽂件8. generatorConfig.xml和generator.properties是mybatis的配置⽂件9. jdbc.properties是数据库相关信息10. log4j.properties是⽇志配置⽂件11. webapp下新建css、images等⽂件,⽤来放前端资源12. web-inf下新建views⽂件件,jsp⽂件就放这⾥⾯了按照上⾯的流程修改后⽬录结构如下图:v搭建springmvc配置Maven pom.xml,引⼊jar包pom.xml主要描述了项⽬的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项⽬相关因素,是项⽬级别的配置⽂件。
ssm工作流程SSM工作流程。
SSM是指Spring+SpringMVC+MyBatis的整合,是一种比较常用的JavaEE开发框架。
在实际开发中,SSM框架可以帮助我们更高效地进行软件开发,提高开发效率和质量。
下面将详细介绍SSM框架的工作流程。
1. Spring框架。
Spring框架是一个轻量级的IoC和AOP容器框架,它提供了一个全面的编程和配置模型,用于构建企业级应用。
Spring框架的工作流程主要包括配置文件的编写、Bean的定义和依赖注入、AOP的实现等。
在SSM框架中,Spring框架负责管理整个应用的对象,提供了IoC容器和AOP特性,使得应用的各个模块之间解耦,提高了代码的可维护性和可测试性。
2. SpringMVC框架。
SpringMVC框架是基于Spring框架的一个轻量级的MVC框架,它提供了一个强大的MVC架构,用于构建Web应用程序。
SpringMVC框架的工作流程主要包括前端控制器的配置、HandlerMapping的注册、HandlerAdapter的调用、视图解析器的解析等。
在SSM框架中,SpringMVC框架负责处理用户请求和响应,将用户请求映射到对应的Controller方法,并将处理结果返回给用户。
3. MyBatis框架。
MyBatis框架是一个优秀的持久层框架,它将SQL语句和Java代码进行分离,提供了强大的SQL映射功能和灵活的参数处理能力。
MyBatis框架的工作流程主要包括Mapper接口的定义、SQL语句的映射、参数的传递和结果的映射等。
在SSM框架中,MyBatis框架负责与数据库进行交互,执行SQL语句,并将结果映射为Java对象。
4. SSM框架整合。
在SSM框架中,Spring框架负责管理对象的生命周期和依赖注入,SpringMVC框架负责处理用户请求和响应,MyBatis框架负责与数据库进行交互。
这三个框架通过配置文件和注解的方式进行整合,使得它们能够协同工作,共同构建一个完整的Web应用程序。
主要介绍三大框架的整合,至于环境的搭建以及项目的创建可以参考其他资料。
这次整合主要用到两个配置文件:spring-mybatis.xm,包含spring和mybatis的配置文件,还有个是spring-mvc.xml的配置文件,此外有两个资源文件:jdbc.propertis和log4j.properties。
完整的目录结构如下图:本框架中用到的所有jar包都在源码中。
本测试项目中用到的是sqlserver数据库,MyEclipse 8.6和apache-tomcat-7.0.41下来逐一介绍配置文件:1、spring-mybatis.xml这个文件就是用来完成spring和mybatis的整合的。
这里面也没多少行配置,主要的就是自动扫描,自动注入,配置数据库,注释也很详细<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.1.xsd/schema/context/schema/context/spring-context-3.1.xsd/schema/mvc/schema/mvc/spring-mvc-4.0.xsd"><!-- 自动扫描 --><context:component-scan base-package="com.myProcess.study"/><!-- 引入配置文件 --><bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"value="classpath:jdbc.properties"/> </bean><bean id="dataSource"class="mons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName"value="${driver}"/><property name="url"value="${url}"/><property name="username"value="${username}"/><property name="password"value="${password}"/><!-- 初始化连接大小 --><property name="initialSize"value="${initialSize}"></property><!-- 连接池最大数量 --><property name="maxActive"value="${maxActive}"></property><!-- 连接池最大空闲 --><property name="maxIdle"value="${maxIdle}"></property><!-- 连接池最小空闲 --><property name="minIdle"value="${minIdle}"></property><!-- 获取连接最大等待时间 --><property name="maxWait"value="${maxWait}"></property></bean><!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource"ref="dataSource"/><!-- 自动扫描mapping.xml文件 --><property name="mapperLocations"value="classpath:com/myProcess/study/mapping/*.xml"></property></bean><!-- DAO接口所在包名,Spring会自动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage"value=".hnust.dao"/><property name="sqlSessionFactoryBeanName"value="sqlSessionFactory"></property></bean><!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"ref="dataSource"/></bean></beans>2、log4j.propertieslog4j.rootLogger=INFO,Console,File#定义日志输出目的地为控制台log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.out#可以灵活地指定日志输出格式,下面一行是指定具体的格式yout = org.apache.log4j.PatternLayoutyout.ConversionPattern=[%c]-%m%n#文件大小到达指定尺寸的时候产生一个新的文件log4j.appender.File = org.apache.log4j.RollingFileAppender#指定输出目录log4j.appender.File.File = logs/ssm.log#定义文件最大大小log4j.appender.File.MaxFileSize = 10MB# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志log4j.appender.File.Threshold = ALLyout = org.apache.log4j.PatternLayoutyout.ConversionPattern =[%p][%d{yyyy-MM-ddHH\:mm\:ss}][%c]%m%n3、spring-mvc.xml主要是自动扫描控制器,视图模式,注解的启动这三个<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.1.xsd/schema/context/schema/context/spring-context-3.1.xsd/schema/mvc/schema/mvc/spring-mvc-4.0.xsd"><!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --><context:component-scan base-package="com.myProcess.study.web"/><!--避免IE执行AJAX时,返回JSON出现下载文件 --><bean id="mappingJacksonHttpMessageConverter"class="org.springframework.http.converter.json.MappingJacksonHttpMessageConvert er"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value></list></property></bean><!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --><beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAd apter"><property name="messageConverters"><list><ref bean="mappingJacksonHttpMessageConverter"/><!-- JSON转换器 --></list></property></bean><!-- 定义跳转的文件的前后缀,视图模式配置--><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个可用的url地址 --><property name="prefix"value="/WEB-INF/jsp/"/><property name="suffix"value=".jsp"/></bean><!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --><bean id="multipartResolver"class="monsMultipartResolver"> <!-- 默认编码 --><property name="defaultEncoding"value="utf-8"/><!-- 文件大小最大值 --><property name="maxUploadSize"value="10485760000"/><!-- 内存中的最大值 --><property name="maxInMemorySize"value="40960"/></bean></beans>4、web.xml这里面对spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是为了完成SSM整合,之前2框架整合不需要在此处进行任何配置。
SSM框架搭建最新教程(超详细)个⼈认为使⽤框架并不是很难,关键要理解其思想,这对于我们提⾼编程⽔平很有帮助。
不过,如果⽤都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。
实践出真知。
1、基本概念1.1、SpringSpring是⼀个开源框架,Spring是于2003 年兴起的⼀个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍⽣⽽来。
它是为了解决企业应⽤开发的复杂性⽽创建的。
Spring使⽤基本的JavaBean来完成以前只可能由EJB完成的事情。
然⽽,Spring的⽤途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的⾓度⽽⾔,任何Java应⽤都可以从Spring中受益。
简单来说,Spring是⼀个轻量级的控制反转(IoC)和⾯向切⾯(AOP)的容器框架。
1.2、SpringMVCSpring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow⾥⾯。
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的⾓⾊,这种分离让它们更容易进⾏定制。
1.3、MyBatisMyBatis 本是apache的⼀个开源项⽬iBatis, 2010年这个项⽬由apache software foundation 迁移到了google code,并且改名为MyBatis 。
MyBatis是⼀个基于Java的持久层框架。
iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了⼏乎所有的JDBC代码和参数的⼿⼯设置以及结果集的检索。
MyBatis 使⽤简单的 XML或注解⽤于配置和原始映射,将接⼝和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
SSM整合(Maven⼯程)SSM整合(Maven⼯程)⼀、概述SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合⽽成(SpringMVC是Spring中的部分内容)。
常作为数据源较简单的web项⽬的框架。
Spring Spring就像是整个项⽬中装配bean的⼤⼯⼚,在配置⽂件中可以指定使⽤特定的参数去调⽤实体类的构造⽅法来实例化对象。
也可以称之为项⽬中的粘合剂。
Spring的核⼼思想是IoC(控制反转),即不再需要程序员去显式地new⼀个对象,⽽是让Spring框架帮你来完成这⼀切。
SpringMVC SpringMVC在项⽬中拦截⽤户请求,它的核⼼Servlet即DispatcherServlet承担中介或是前台这样的职责,将⽤户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执⾏的操作。
SpringMVC相当于SSH框架中struts。
mybatis mybatis是对jdbc的封装,它让数据库底层操作变的透明。
mybatis的操作都是围绕⼀个sqlSessionFactory实例展开的。
mybatis通过配置⽂件关联到各实体类的Mapper⽂件,Mapper⽂件中配置了每个类对数据库所需进⾏的sql语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到⼀个sqlSession,再执⾏sql命令。
页⾯发送请求给控制器,控制器调⽤业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调⽤视图展现数据。
⼆、代码分析项⽬结构⽂件配置信息1. pom.xml⼀定要设置打包⽅式为war⽅式,不然不能⽣成webaap<packaging>war</packaging><dependencies><!-- SpringMVC --><!-- 因为Spring MVC属于SpringFrameWork的后续产品,所以导⼊该依赖就不⽤单独导⼊Spring依赖了--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.1</version></dependency><!-- 导⼊该包开启事务管理--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.9</version></dependency><!-- ⽇志 --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!-- ServletAPI --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- Spring5和Thymeleaf整合包 --><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf-spring5</artifactId><version>3.0.12.RELEASE</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version></dependency><!-- mysql数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><!-- druid数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version></dependency><!-- log4j⽇记依赖--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies><!-- 解决资源读取问题--><build><resources><resource><directory>src/main/resources/</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build>2. web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 设置编码,要在最前⾯--><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><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 这⾥已经将SpringMVC配置--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:SpringMVC-config.xml</param-value></init-param><!-- 服务器启动时加载 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--Spring配置: needed for ContextLoaderListener --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:ApplicationContext.xml</param-value></context-param><!-- ContextLoaderListener监听器 --><!-- ContextLoaderListener监听器的作⽤就是启动Web容器时,⾃动装配ApplicationContext的配置信息--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener></web-app>3. SpringMVC-config.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd /schema/context https:///schema/context/spring <!-- 组件扫描,Spring配置和SpringMVC配置中都要配置这个 --><context:component-scan base-package="com.zhen.controller"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 配置Thymeleaf视图解析器 --><bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver"><property name="order" value="1"/><property name="characterEncoding" value="UTF-8"/><property name="templateEngine"><bean class="org.thymeleaf.spring5.SpringTemplateEngine"><property name="templateResolver"><bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver"><!-- 视图前缀 --><property name="prefix" value="/WEB-INF/templates/"/><!-- 视图后缀 --><property name="suffix" value=".html"/><property name="templateMode" value="HTML5"/><property name="characterEncoding" value="UTF-8"/></bean></property></bean></property></bean><!-- 视图控制器--><mvc:view-controller path="/" view-name="index"/><!-- 启动默认的Servlet--><mvc:default-servlet-handler/><!-- 启动注解驱动--><mvc:annotation-driven/></beans>4. ApplicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mybatis-spring="/schema/mybatis-spring"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd /schema/context https:///schema/context/spring <!-- 开启组件扫描,并且设置不扫描注解为Controller--><context:component-scan base-package="com.zhen"><context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 引⼊外部配置⽂件,类型为properties--><!-- 注意这⾥的classpath:别忘了--><context:property-placeholder location="classpath:jdbc.properties"/><!-- 配置数据库连接池信息,关于连接池的所有属性配置都可以配置--><bean id="DataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${mysql.driver}"/><property name="url" value="${mysql.url}"/><property name="username" value="${ername}"/><property name="password" value="${mysql.password}"/></bean><!-- 开启事务管理--><bean id="DataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="DataSource"/></bean><!-- 创建⼀个sqlSessionFactory对象--><!-- 注意这⾥的classpath:别忘了--><bean id="SqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 数据库连接池--><property name="dataSource" ref="DataSource"/><!-- mybatis配置--><property name="configLocation" value="classpath:mybatis-config.xml"/><!-- 因为mybatis-config.xml中没有注册dao映射所以⽤此配置属性来注册mapping--><property name="mapperLocations" value="classpath:com/zhen/dao/*.xml"/></bean><!-- 单独创建⼀个可以批量操作的SqlSession对象--><!-- 这个也可以没有,只是单独设置⼀个sqlsession可以进⾏批量操作,通过⾃动注⼊来⽤这个对象 --><!-- SqlSessionTemplate继承了SqlSession--><bean id="SqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"><constructor-arg name="sqlSessionFactory" ref="SqlSessionFactoryBean" /><!--可以配置⼀个可以进⾏批量执⾏的sqlSession BATCH批量执⾏ --><constructor-arg name="executorType" value="BATCH"/></bean><!-- 扫描所有的mapper接⼝的实现,让这些mapper能够⾃动注⼊;base-package:指定mapper接⼝的包名--><mybatis-spring:scan base-package="com.zhen"/></beans>5. mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><!-- 这⾥可以配置⼀些想要的mybatis的配置,但是Spring配置中都能配置,要想结构鲜明就很清楚来配置--><typeAliases><typeAlias type="er" alias="User"/></typeAliases></configuration>6. jdbc.propertiesmysql.driver=com.mysql.jdbc.Drivermysql.url=jdbc:mysql://localhost:3306/bookername=rootmysql.password=123456类结构1. pojopublic class User {private Integer id;private String username;private String password;private String email;public User() {}public User(Integer id, String username, String password, String email) {this.id = id;ername = username;this.password = password;this.email = email;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", email='" + email + '\'' +'}';}}2. Dao层接⼝//要声明此注解,不然不能⾃动注⼊@Repositorypublic interface UserMapping {List<User> queryUser();}mapping<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><mapper namespace="erMapping"><!-- 在mybatis配置了别名--><select id="queryUser" resultType="User">select *from t_user</select></mapper>3. Service层@Servicepublic class UserService {@Autowiredprivate UserMapping userMapping;//⾃动注⼊来⽤⼀个可以批量操作的SqlSession,前提是在Spring配置⽂件中配置了这个对象, // 然后⽤原始的⽅法将调⽤接⼝中的crud⽅法//例如:public List<User> getBatchUser(){// UserMapping mapper = batchSqlSession.getMapper(UserMapping.class);// return mapper.queryUser();// }@Autowiredprivate SqlSession batchSqlSession;public List<User> getAllUser(){return userMapping.queryUser();}}4. Controller层@Controllerpublic class SpringController {//⾃动注⼊@Autowiredpublic UserService userService;//请求映射@RequestMapping("/getUser")public String queryUser(Model model){List<User> users = userService.getAllUser();model.addAttribute("users",users);return "Users";}}三、总结。
ssm整合步骤课程设计一、课程目标知识目标:1. 让学生理解SSM(Spring、SpringMVC、MyBatis)框架的基本概念及其整合原理;2. 掌握SSM整合开发环境搭建方法,熟悉相关配置文件的作用和编写规范;3. 学会使用SSM框架进行基本的增、删、改、查操作,并能应用于实际项目中。
技能目标:1. 培养学生独立搭建SSM整合开发环境的能力,提高实际操作技能;2. 培养学生分析问题、解决问题的能力,使其能够运用所学知识解决实际开发中的问题;3. 提高学生的团队协作能力,通过分组讨论和实践,共同完成课程任务。
情感态度价值观目标:1. 培养学生积极的学习态度,使其对编程产生兴趣,增强学习自信心;2. 培养学生良好的编程习惯,注重代码规范和团队协作;3. 引导学生认识到学习SSM框架的重要性,激发其进一步学习的动力。
本课程针对高年级学生,课程性质为理论实践相结合。
在分析课程性质、学生特点和教学要求的基础上,将课程目标分解为具体的学习成果,以便后续教学设计和评估。
通过本课程的学习,使学生能够掌握SSM框架的基本知识,具备实际开发能力,为今后的职业发展打下坚实基础。
二、教学内容1. SSM框架简介:介绍Spring、SpringMVC、MyBatis三个框架的基本概念和作用,让学生了解其整合的优势;2. 环境搭建:详细讲解SSM整合开发环境的搭建过程,包括所需软件、配置文件编写等;3. 基本操作:- 查询操作:教授如何使用MyBatis实现数据库查询,结合Spring和SpringMVC进行数据展示;- 新增操作:讲解如何通过SSM框架实现数据的添加,并掌握相关技术要点;- 修改操作:分析SSM框架下如何进行数据的修改,并注意事务处理;- 删除操作:介绍如何通过SSM框架实现数据的删除功能。
4. 实践项目:分组进行一个简单的SSM整合项目开发,涵盖上述基本操作,巩固所学知识;5. 教学大纲:- 第一周:SSM框架简介、环境搭建;- 第二周:查询操作、新增操作;- 第三周:修改操作、删除操作;- 第四周:实践项目开发与总结。
SSM框架(springmvc+spring+mybatis)pom.xml⽂件配置SSM框架pom.xml⽂件配置 4.0.0 com.ssm maven 0.0.1-SNAPSHOT war
org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 4.1.6.RELEASE 3.2.6 1.7.7 1.2.17 junit junit 4.11 test org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-oxm ${spring.version} org.springframework spring-tx ${spring.version} org.springframework spring-jdbc ${spring.version} org.springframework spring-webmvc ${spring.version} org.springframework spring-aop ${spring.version} org.springframework spring-context-support ${spring.version} org.springframework spring-test ${spring.version} org.mybatis mybatis ${mybatis.version} org.mybatis mybatis-spring 1.2.2 javax javaee-api 7.0 mysql mysql-connector-java 5.1.39 c3p0 c3p0 0.9.1.2 commons-dbcp commons-dbcp 1.2.2 jstl jstl 1.2 log4j log4j ${log4j.version} com.alibaba fastjson 1.1.41 org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-log4j12 ${slf4j.version} org.codehaus.jackson jackson-mapper-asl 1.9.13 commons-fileupload commons-fileupload 1.3.1 commons-io commons-io 2.4 commons-codec commons-codec 1.9
struts2+spring+mybatis框架整合详细介绍一、问题的提出最近一直在看各种主流javaweb框架,感触颇深,一个好的框架可以让你的程序代码变得相当的明了,也便于后期的维护!目前用到的主流框架包括struts2+spring+mybatis和spring+springmvc+mybatis(注:个人觉得mybatis框架很好用,所以框架基本都会选择用mybatis)。
其实很多的小伙伴都想自己配置个框架,但是基于怕报错啊、引入jar包、程序调试啊等等问题都放弃了!基于这个现象,本人在这里就详细的介绍下本人配置框架的详细过程,希望对读者有所帮助。
二、引入jar包这个问题一直是想搭建框架的小伙伴们的最大的一个障碍!很多人就是由于不知道导入什么样的jar而犯愁!对于这个问题我个人的想法是,jar包都是向下兼容的所以你大可不用担心你的jar包版本不对的问题,尽可能下载版本靠后的jar包就能解决这个问题。
其次是不知道要导入多少个jar包,这确实是个棘手的问题,对于这个问题我的解决方案是:首选是在网上查找,这方面的资料网上还是很全面的什么jar都可以下载,其次是注意struts2 以及spring 等的官网,官网上也会有详细的介绍每个jar的功能。
这里我就不在详细的描述了。
下面是我这个框架搭建需要的jar包截图,如果有需要jar包的可私下联系我,大家共同学习。
s三、配置框架1、首先让大家看看我配置完后的框架图,再来讲述我配置的流程2、配置流程2.1、首先任何一个系统都需要有其对应的数据库,这里我用的是mysql数据库,首先在数据库里新建个数据库,注意数据库的字符集最好选为utf-8的这样能防止数据库中文字符乱码。
由于我只是配置框架,所以我新建数据库名为wayneT est数据库里也只建了一张表,如下图:2.2、建好数据库后,我用了个工具Mybatis Generator自动生成model类,dao,mapper文件.这个工具的详细的用法网上也很多,如果读者不懂得话也可以私下联系我这里给你们个链接Mybatis 主页/p/mybatis/ 上下载Mybatis mybatis-generator-core 。
IDEASSM框架整合配置及步骤详解⽬录参考前⾔SSM框架整合步骤MybatisSpringSpring MVC层⼀些杂七杂⼋的配置参考狂神说SpringMVC05:整合SSM框架前⾔根据⾃⼰的环境参考狂神的视频进⾏了SSM框架整合,⽤于备忘SSM框架整合步骤1. 创建数据库2. IDEA创建maven项⽬.在pom.xml中设设置java conpiler版本(jdk13)3. 导⼊依赖 jnuit 数据库驱动数据库连接 Severlet JSp4. maven 资源过滤<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build><groupId>org.example</groupId><artifactId>ssm</artifactId><version>1.0-SNAPSHOT</version><properties><piler.source>13</piler.source><piler.target>13</piler.target></properties><dependencies><!--Junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!--Servlet - JSP --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--Mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version></dependency><!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.4</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.4</version></dependency></dependencies></project>5. 创建两个项⽬的⽬录结构以及Spring 和 Mybatis的配置⽂件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd"></beans><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration></configuration>Mybatis6. 配置数据库属性jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC ername=rootjdbc.password=root7. 创建Book实体类(使⽤lombok插件),编写Dao层mapper接⼝,在mybatis配置中注册mapperpackage com.projectname.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Book {private int bookID;private String bookName;private int bookCounts;private String detail;}package com.projectname.dao;import com.projectname.pojo.Book;import java.util.List;public interface DaoBook {//增加⼀个Bookint addBook(Book book);//根据id删除⼀个Bookint deleteBookById(int id);//更新Bookint updateBook(Book books);//根据id查询,返回⼀个BookBook queryBookById(int id);//查询全部Book,返回list集合List<Book> queryAllBook();}<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.kuang.dao.BookMapper"><!--增加⼀个Book--><insert id="addBook" parameterType="Books">insert into ssmbuild.books(bookName,bookCounts,detail)values (#{bookName}, #{bookCounts}, #{detail})</insert><!--根据id删除⼀个Book--><delete id="deleteBookById" parameterType="int">delete from ssmbuild.books where bookID=#{bookID}</delete><!--更新Book--><update id="updateBook" parameterType="Books">update ssmbuild.booksset bookName = #{bookName},bookCounts = #{bookCounts},detail = #{detail}where bookID = #{bookID}</update><!--根据id查询,返回⼀个Book--><select id="queryBookById" resultType="Books">select * from ssmbuild.bookswhere bookID = #{bookID}</select><!--查询全部Book--><select id="queryAllBook" resultType="Books">SELECT * from ssmbuild.books</select></mapper><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><mappers><mapper resource="com/projectname/dao/BookMapper.xml"/></mappers></configuration>8. 编写service层的接⼝和实现类代码package com.projectname.service;import com.projectname.pojo.Book;import java.util.List;public interface BookService {//增加⼀个Bookint addBook(Book book);//根据id删除⼀个Bookint deleteBookById(int id);//更新Bookint updateBook(Book books);//根据id查询,返回⼀个BookBook queryBookById(int id);//查询全部Book,返回list集合List<Book> queryAllBook();}package com.projectname.service;import com.projectname.dao.BookMapper;import com.projectname.pojo.Book;import java.util.List;public class BookServiceImpl implements BookService {//调⽤dao层的操作,设置⼀个set接⼝,⽅便Spring管理private BookMapper bookMapper;public void setBookMapper(BookMapper bookMapper) {this.bookMapper = bookMapper;}public int addBook(Book book) {return bookMapper.addBook(book);}public int deleteBookById(int id) {return bookMapper.deleteBookById(id);}public int updateBook(Book books) {return bookMapper.updateBook(books);}public Book queryBookById(int id) {return bookMapper.queryBookById(id);}public List<Book> queryAllBook() {return bookMapper.queryAllBook();}}Spring9. 使⽤Spring编写Mybatis配置⽂件:spring-dao.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd /schema/context https:///schema/context/spring-context.xsd"> <context:property-placeholder location="classpath:database.properties"/><!-- 2.数据库连接池 --><!--数据库连接池dbcp 半⾃动化操作不能⾃动连接c3p0 ⾃动化操作(⾃动的加载配置⽂件并且设置到对象⾥⾯)--><bean id="dataSource" class="boPooledDataSource"><!-- 配置连接池属性 --><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${ername}"/><property name="password" value="${jdbc.password}"/><!-- c3p0连接池的私有属性 --><property name="maxPoolSize" value="30"/><property name="minPoolSize" value="10"/><!-- 关闭连接后不⾃动commit --><property name="autoCommitOnClose" value="false"/><!-- 获取连接超时时间 --><property name="checkoutTimeout" value="10000"/><!-- 当获取连接失败重试次数 --><property name="acquireRetryAttempts" value="2"/></bean><!-- 3.配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注⼊数据库连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBaties全局配置⽂件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis-configuration.xml"/></bean><!-- 4.配置扫描Dao接⼝包,动态实现Dao接⼝注⼊到spring容器中 --><!--解释:https:///jpfss/p/7799806.html--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注⼊sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 给出需要扫描Dao接⼝包 --><property name="basePackage" value="com.projectname.dao"/></bean></beans>10. Spring 整合service层spring-service<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd /schema/context https:///schema/context/spring-context.xsd"> <!-- 扫描service相关的bean --><context:component-scan base-package="com.projectname.service" /><!--BookServiceImpl注⼊到IOC容器中--><bean id="BookServiceImpl" class="com.projectname.service.BookServiceImpl"><property name="bookMapper" ref="bookMapper"/></bean><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 注⼊数据库连接池 --><property name="dataSource" ref="dataSource" /></bean></beans>Spring MVC层11. configuate the web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_4_0.xsd"version="4.0"> <!-- 配置SpringMVC --><!-- 1.开启SpringMVC注解驱动 --><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--⼀定要注意:我们这⾥加载的是总的配置⽂件,之前被这⾥坑了!--><param-value>classpath:applicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--encodingFilter--><filter><filter-name>encodingFilter</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>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--Session过期时间--><session-config><session-timeout>15</session-timeout></session-config></web-app>12. spring-mvc.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:mvc="/schema/mvc"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd /schema/mvc https:///schema/mvc/spring-mvc.xsd http://www.spr <!-- 配置SpringMVC --><!-- 1.开启SpringMVC注解驱动 --><mvc:annotation-driven /><!-- 2.静态资源默认servlet配置--><mvc:default-servlet-handler/><!-- 3.配置jsp 显⽰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><!-- 4.扫描web相关的bean --><context:component-scan base-package="com.projectname.controller" /></beans>13. configuate applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:mvc="/schema/mvc"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd /schema/mvc https:///schema/mvc/spring-mvc.xsd /schema/context https:///sch <import resource="spring-dao.xml"/><import resource="spring-service.xml"/><import resource="spring-mvc.xml"/></beans>⼀些杂七杂⼋的配置14. 添加⽇志功能<settings><setting name="logImpl" value="STDOUT_LOGGING"/></settings>15. add libFile -> Project Structure->ArtifactsType -> Bundlenew directory lib到此这篇关于IDEA SSM框架整合配置及步骤详解的⽂章就介绍到这了,更多相关IDEA SSM框架整合配置内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
SSM框架整合(IntelliJIDEAMavenSSM)通用教务查询系统学生信息管理系统海量视频资源更新项目资源大放送二小程序教程H5、JS 游戏源码本篇文章主要内容是介绍如何使用IntelliJ IDEA创建Spring + SpringMVC + MyBatis项目,下面会给出项目搭建的详细步骤以及相关的配置文件。
1. 创建maven项目1.1 File -> New Module,进入创建项目窗口。
1.2 点击Next,填写GroupId、ArtifactId和Version1.3 接着下一步,这里需要注在Properties中添加一个参数 archetypeCatalog=internal,不加这个参数,在maven生成骨架的时候将会非常慢,有时候直接卡住。
来自网上的解释:archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了所以导致很慢,指定internal来表示仅使用内部元数据。
1.4 填写Module name1.5 生成maven的项目骨架之后,我们还需要手动在src/main 下创建java目录。
现在可以直接编写了,我把项目所需要的文件都编写完成之后,项目的工程结构如图。
到此为止,项目的框架基本搭建完成,下面重点说一下项目的配置文件2. 项目配置文件2.1 这里使用maven来引入项目所需要的jar包,所以也就不需要手动来管理jar包了。
pom.xmlxsi:schemaLocation='/POM/4.0.0 /maven-v4_0_0.xsd'>4.0.0com.heitian.webweb-ssm1.0-SNAPSHOTweb-ssm Maven WebappUTF-8UTF- 84.2.5.RELEASE3.2.85.1.291.7.181.2.17jstljstl1.2javaee-api7.0junitjunit4.11testorg.springframework spring-core ${spring.version}org.springframework spring-web ${spring.version}org.springframework spring-oxm ${spring.version}org.springframework spring-tx ${spring.version}org.springframework spring-jdbc ${spring.version}org.springframework spring-webmvc ${spring.version}org.springframework spring-context ${spring.version}org.springframework spring-context-support ${spring.version}org.springframework spring-aop ${spring.version}org.springframework spring-test ${spring.version}org.mybatismybatis ${mybatis.version}org.mybatismybatis-spring1.2.2mysqlmysql-connector-java ${mysql-driver.version}commons-dbcpcommons-dbcp 1.2.2com.alibaba fastjson1.1.41log4jlog4j${log4j.version}org.slf4jslf4j-api ${slf4j.version}org.slf4jslf4j-log4j12 ${slf4j.version}org.codehaus.jackson jackson-mapper-asl1.9.13com.fasterxml.jackson.core jackson-core2.8.0com.fasterxml.jackson.core jackson-databind2.8.0commons-fileupload commons-fileupload1.3.1commons-iocommons-io2.4commons-codeccommons-codec1.9web-ssm2.2 新建jdbc.properties文件jdbc.propertiesdriverClasss=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://localhost:3306/db_ssm?useUnicode=t rue&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNullusername=rootpassword=root#定义初始连接数initialSize=0#定义最大连接数maxActive=20#定义最大空闲maxIdle=20#定义最小空闲minIdle=1#定义最长等待时间maxWait=600002.3 新建log4j 配置文件log4j.propertieslog4j.rootLogger=INFO,Console,File#控制台日志log4j.appender.Console=org.apache.log4j.ConsoleAppende rlog4j.appender.Console.Target=System.outyout=org.apache.log4j.PatternLay outyout.ConversionPattern=[%p][%t][ %d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n#普通文件日志log4j.appender.File=org.apache.log4j.RollingFileAppender log4j.appender.File.File=logs/ssm.loglog4j.appender.File.MaxFileSize=10MB#输出日志,如果换成DEBUG表示输出DEBUG以上级别日志log4j.appender.File.Threshold=ALLyout=org.apache.log4j.PatternLayout yout.ConversionPattern=[%p][%t][%d{ yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n2.4 新建springmvc配置文件spring-mvc.xmltext/html;charset=UTF-82.5 新建spring和mybatis整合所需的配置文件spring-mybatis.xmlxmlns:xsi='/2001/XMLSchema-instance'xmlns:context='/schema/context' xmlns:tx='/schema/tx' xsi:schemaLocation='/schema/beans/schema/beans/spring-beans-3.1.xsd/schema/context/schema/context/spring-context-3.1.xsd/schema/tx/schema/tx/spring-tx.xsd'>destroy-method='close'>2.6 web.xml配置文件web.xmlxmlns:xsi='/2001/XMLSchema-instance' xsi:schemaLocation='/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd' version='3.0'>web-ssmcontextConfigLocationclasspath:spring-mybatis.xmllog4jConfigLocationclasspath:log4j.propertiesencodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8encodingFilter/*org.springframework.web.context.ContextLoaderListener org.springframework.web.util.IntrospectorCleanupListenerSpringMVCorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1trueSpringMVC//index.jsp153. 项目配置和部署3.1 File -> Project Structure,进入创建项目配置窗口。