SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

合集下载

spring4+springmvc+mybatis基本框架(app后台框架搭建一)

spring4+springmvc+mybatis基本框架(app后台框架搭建一)

spring4+springmvc+mybatis基本框架(app后台框架搭建⼀)前⾔:随着spring 越来越强⼤,⽤spring4来搭建框架也是很快速,问题是你是对spring了解有多深⼊。

如果你是新⼿,那么在搭建的过程中可以遇到各种各样奇葩的问题。

SSM框架的搭建是作为我搭建APP开发框架的基础。

我将会分以下⼏点:1) 配置⽂件如何配置2) 如何java配置启动servlet3) ⼀些搭建过程中的坑=============================================================================配置⽂件如何配置SSM框架的搭建配置⽅式有很多种,可具体分可以分为javaConfig配置,xml配置,或者xml⽂件与javaConf混合配置。

其实⽤那种都⾏了,我个⼈搭建还是偏xml配置,不过现在的javaConfig也很成熟,也可以考虑,就是有⼀些坑,后⾯会讲到的;混合配置,⽤的情况也是蛮多的,分享中会涉及⼀点。

接下来,我主要是以java配置类做的配置:这是项⽬的结构 com.ouyang.teson⽬录下直接放置配置类:1)AppConfig.javapackage com.ouyang.teson;import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.context.annotation.*;import org.springframework.transaction.annotation.EnableTransactionManagement;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.mvc.Controller;/*** Created by ThinkPad on 2017/6/15.*/@Configuration@EnableAspectJAutoProxy@EnableTransactionManagement@ComponentScan(basePackages = {"com.ouyang.teson"},excludeFilters={@ComponentScan.Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)})@Import(AppDataConfig.class)//@PropertySource({"classpath:jdbc.properties"})//@ImportSource("XXXX.xml")/*@Configuration,⽤于表⽰这个类是⼀个配置类,⽤于配置Spring的相关信息@EnableAspectJAutoProxy,启⽤切⾯⾃动代理,⽤于AOP@EnableTransactionManagement,启⽤注解事务,即可以使⽤@Transactional注解来控制事务@ComponentScan,组件扫描,在basePackages指定的⽬录下扫描被@Controller、@Service、@Component等注解注册的组件@Import,引⼊指定的配置类,我们引⼊了Spring容器配置类和数据源事务配置类@PropertySource,加载指定的配置⽂件,配置⽂件内容会加载⼊Environment中等待调⽤*/public class AppConfig {@Beanpublic MapperScannerConfigurer mapperScannerConfigurer() {MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();// 跟@MapperScan(basePackages = { "com.ouyang.teson.dao" }) 等同//如果通过web.xml 加载servlet的话,可能找不到映射对象建议⽤注解mapperScannerConfigurer.setBasePackage("com.ouyang.teson.dao");mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");return mapperScannerConfigurer;}}2) AppDataConfig.java 是导⼊的配置package com.ouyang.teson;import com.alibaba.druid.pool.DruidDataSource;import com.ouyang.teson.bean.TestBean;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.*;import org.springframework.core.env.Environment;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.sql.DataSource;import java.io.IOException;/*** Created by ThinkPad on 2017/6/15.*/@EnableAspectJAutoProxy@EnableTransactionManagement@PropertySource({"classpath:jdbc.properties"})//@MapperScan(value={"/com/ouyang/teson/dao/*.xml"},basePackages = {"com.ouyang.teson.dao"})public class AppDataConfig {@Autowiredprivate Environment env;//设置阿⾥druid数据源@Bean(name="dataSource")public DataSource getDataSource() {DruidDataSource druidDataSource = new DruidDataSource();System.out.println("=============env============"+env.getProperty("jdbc.driverClassName"));druidDataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));druidDataSource.setUsername(env.getProperty("ername"));druidDataSource.setPassword(env.getProperty("jdbc.password"));druidDataSource.setUrl(env.getProperty("jdbc.url"));//连接超时时间druidDataSource.setMaxWait(10000);//最⼤存活时间//druidDataSource.setMaxActive(10000);// 配置间隔多久才进⾏⼀次检测,检测需要关闭的空闲连接,单位是毫秒druidDataSource.setTimeBetweenEvictionRunsMillis(60000);//连接池中的最⼩⽣存时间druidDataSource.setMinEvictableIdleTimeMillis(300000);//这⾥建议配置为TRUE,防⽌取到的连接不可⽤druidDataSource.setTestOnBorrow(true);druidDataSource.setTestOnReturn(false);//⾃动提交druidDataSource.setDefaultAutoCommit(true);druidDataSource.setPoolPreparedStatements(true);druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(20);return druidDataSource;}// 配置SqlSessionFactory对象public SqlSessionFactoryBean getSqSesionFactorys() throws IOException {SqlSessionFactoryBean sqlSessionFactoryBean =new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(getDataSource());// sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("mybatis-config.xml")); // 这⾥可以通过mybatis-config.xml 来设置 typeAliasPackage和mapper。

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse-Maven版)

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse-Maven版)

SSI框架搭建(Maven版) SpringMVC4.1.2+Spring4.1.2+Mybatis3.3.0编号:SSI-SMVC3-S4-I3版本:V1.0级别:公开编写时间:2016-06-24目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)1.4 Maven简介 (1)2 准备工作 (2)2.1 安装maven工具 (2)2.2 配置maven环境变量 (2)2.3 配置maven仓库 (2)2.4 Eclipse配置maven信息 (3)3 搭建Maven版的SSI项目 (4)3.1 创建项目 (4)3.2 配置pom文件 (5)3.3 配置web.xml (11)3.4 配置config.properties (13)3.5 配置mybatis-config.xml (14)3.6 配置spring-dataSource.xml (15)3.7 配置spring-mvc.xml (18)3.8 配置spring.xml (19)3.9 配置log4j.properties (20)3.10 创建实体model (20)3.11 创建实例化dao (22)3.12 创建业务服务service (24)3.13 创建控制层controller (26)3.14 页面代码 (31)3.14.1 login.css (31)3.14.2 login.html (32)3.14.3 login.js (34)3.14.4 common.js (35)3.14.5 其他文件 (39)3.15 启动项目 (39)3.15.1 编译项目 (39)3.15.2 启动项目(jetty容器) (39)3.15.3 系统测试 (40)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。

MyBatis 3 整合Spring3、SpringMVC

MyBatis 3 整合Spring3、SpringMVC

MyBatis整合Spring开发环境:System:WindowsWebBrowser:IE6+、Firefox3+JavaEE Server:tomcat5.0.2.8、tomcat6IDE:eclipse、MyEclipse 8Database:MySQL开发依赖库:JavaEE5、Spring 3.0.5、Mybatis 3.0.4、myBatis-spring-1.0、junit4.8.2Email:hoojo_@Blog:/IBM_hoojo/1、首先新建一个WebProject 命名为MyBatisForSpring,新建项目时,使用JavaEE5的lib库。

然后手动添加需要的jar包,所需jar包如下:2<!-- 设置Spring容器加载配置文件路径 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext-*.xml</param-value> </context-param><!-- 配置Spring核心控制器 --><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServl et</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/dispatcher.xml</param-value> </init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><!-- 解决工程编码过滤器 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncoding Filter</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>3xsi:schemaLocation="/schema/bean s/schema/beans/spring-beans-3.0.x sd/schema/context/schema/context/spring-context-3 .0.xsd"><!-- 注解探测器 --><context:component-scan base-package="com.hoo"/><!-- annotation默认的方法映射适配器 --><bean id="handlerMapping"class="org.springframework.web.servlet.mvc.annotation.DefaultAnnot ationHandlerMapping"/><bean id="handlerAdapter"class="org.springframework.web.servlet.mvc.annotation.AnnotationMe thodHandlerAdapter"/></beans>4、在src目录下添加applicationContext-common.xml,内容如下:<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/bean s/schema/beans/spring-beans-3.0.x sd/schema/aop/schema/aop/spring-aop-3.0.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd "><!-- 配置DataSource数据源 --><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource "><property name="driverClassName"value="com.mysql.jdbc.Driver"/><property name="url"value="jdbc:mysql://10.0.0.131:3306/ash2"/><property name="username"value="dev"/><property name="password"value="dev"/></bean><!-- 配置SqlSessionFactoryBean --><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource"ref="dataSource"/><property name="configLocation"value="classpath:mybatis.xml"/><!-- mapper和resultmap配置路径 --><property name="mapperLocations"><list><!-- 表示在com.hoo.resultmap包或以下所有目录中,以-resultmap.xml结尾所有文件 --><value>classpath:com/hoo/resultmap/**/*-resultmap.xml</value> <value>classpath:com/hoo/entity/*-resultmap.xml</value><value>classpath:com/hoo/mapper/**/*-mapper.xml</value></list></property></bean><!-- 单独配置一个Mapper;这种模式就是得给每个mapper接口配置一个bean --> <!--<bean id="accountMapper"class="org.mybatis.spring.mapper.MapperFactoryBean"><property name="mapperInterface"value="com.hoo.mapper.AccountMapper" /><property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean><bean id="companyMapper"class="org.mybatis.spring.mapper.MapperFactoryBean"><property name="mapperInterface"value="panyMapper" /><property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean>--><!-- 通过扫描的模式,扫描目录在com/hoo/mapper目录下,所有的mapper都继承上面的配置最先配置的是DataSource,这里采用的是jdbc的DataSource;然后是SqlSessionFactoryBean,这个配置比较关键。

【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】

【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】

【SpringMVC】使⽤Myeclipse创建SpringMVC项⽬【超详细教程】 之前⼀直是使⽤Eclipse创建Web项⽬,⽤IDEA和MyEclipse的创建SpringMVC项⽬的时候时不时会遇到⼀些问题,这⾥把这个过程记录⼀下,希望能帮助到那些有需要的朋友。

我是⽤的是MyEclipse2017 CI 3,相近版本应该都差不多。

⾄于其他版本找到类似操作即可。

1.新建web项⽬ 然后点击finish完成web项⽬创建。

2.安装Spring框架 此时,项⽬结构如图: 3.创建xml⽂件 内容如下:<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_0.xsd"><!-- 配置SpringMVC --><servlet> 然后在src ⽬录下创建名为 dispatcher-servlet.xml (与上⾯指定的⽂件名要⼀致)的⽂件。

<servlet-name >dispatcher </servlet-name ><servlet-class >org.springframework.web.servlet.DispatcherServlet </servlet-class ><init-param ><param-name >contextConfigLocation </param-name ><param-value >classpath:dispatcher-servlet.xml </param-value ></init-param ></servlet ><servlet-mapping ><servlet-name >dispatcher </servlet-name ><!-- 监听所有请求 --><url-pattern >/</url-pattern ></servlet-mapping ></web-app > 内容如下: 然后在WEB-INF ⽬录下创建⼀个名为jsp 的⽂件夹。

springmvc+spring+mybatis整合

springmvc+spring+mybatis整合

springmvc+spring+mybatis整合首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些。

然后我们就细细的一步一步来整合。

1 创建一个Web项目。

2 导入Mybatis3、Spring4、SpringMVC4、连接数据库(我使用的数据库是mysql)的jar包。

我所用的包:spring-websocket-4.2.0.RELEASE.jar3 创建Mybatis3、Spring4、SpringMVC4、连接数据库的配置文件。

4 配置web.xml1<?xml version="1.0" encoding="UTF-8"?>2<web-app version="2.5"3xmlns="/xml/ns/javaee"4xmlns:xsi="/2001/XMLSchema-instance" 5xsi:schemaLocation="/xml/ns/javaee6/xml/ns/javaee/web-app_2_5.xsd">78<!-- 告知javaEE容器,有哪些内容需要添加到上下文中去--> 9<context-param>10<param-name>contextConfigLocation</param-name> 11<param-value>12/WEB-INF/classes/applicationContext.xml,13<!-- /WEB-INF/classes/mvc-servlet.xml -->14</param-value>15</context-param>161718<!-- 加载LOG4J -->19<context-param>20<param-name>log4jConfigLocation</param-name> 21<param-value>/WEB-INF/log4j.xml</param-value>22</context-param>2324<context-param>25<param-name>log4jRefreshInterval</param-name> 26<param-value>60000</param-value>27</context-param>2829<!-- 动态设置项目的运行路径-->30<context-param>31<param-name>webAppRootKey</param-name>32<param-value>ssm.root</param-value>33</context-param>3435<!-- 配置静态资源-->36<servlet-mapping>37<servlet-name>default</servlet-name>38<url-pattern>/static/*</url-pattern>39</servlet-mapping>404142<!-- 配置springmvc的前端控制器-->43<servlet>44<servlet-name>mvc</servlet-name>45<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>46<!-- 默认情况下:DispatcherServlet会寻找WEB-INF下,命名规范为[servlet-name]-servlet.xml文件。

Spring+SpringMVC+Mybatis框架搭建步骤

Spring+SpringMVC+Mybatis框架搭建步骤

Spring + SpringMVC + Mybatis 框架搭建步骤1. 新建WEB 工程。

Creiate a Web ProjectCreate a web project in the workspace or an externa I locatFonContext root URL J /ssm p rojj eet J2EE £pe-ci fi caition LevelJava EE 。

Java EE 5.0• ; J2EE 1.4 i J2EE 1.3Maven71 Add Maven su pportMyEclip ,3i e Maven JEE Proje-ct Standard IMave-m JEE ProjectLumrn eqtl abiQut IM 日vumAMyEuliipwg^.. J STL SupportI Add J STL libraries to VtfEB-JINF/lib folder?Finish2.导入相关的 JAR 包(oracle 数据库)。

单由右键项H , 选择build path —» configure build path—》选择 Add Library —》User Library —》点击 next —》点击 User Libraries 一》新建(NEW ) —》输入 Library 名字(英文)一》点由 Add Jars 添加所需JAR 包一》点 OK 一》点finish oNew \A/eb Project Cancel惨改日期太小祥coin. MpNfiq 土白口fcft.jd V3M.i nje-et_l .O.O.jar 2013/10/30 SM56Win RAR丘璋文1牛 5 KB com mo ns- log girrg -1,1 Ja r 2014/9/3 9:20WinRAR压述文件52 KB激j5tl-l.l-2.jar 2014/9/3 9:20winRAR在靠K牛21 KB漕Iog4j-L.2.15jar 2015/5/11 16:20WinRAR SMSt件 3 03 K. B3 FT!ybotfS-3rO,5jor 2014/&/3 9:20WinRAR 牛621 KBmyb ati s -sp rin g Ja r2014/9/B 9:20WinRAR田心件27 KBmybatfs-3pring-l I0,0-R;C2Jar 2&13/1C/31 10;30WinRAR BS5S:件M KBojdb<14.jar 2014/9/3. 9-20WinRAR叫愤:件l r520 KBorg.springframewcrk.aQp-3,l P2.RELEr.. 2014/9/3 9;20WinRAR压海文件325 K0org.springframeworlcasm-2.1…2…REUE...2014/9/3 9120WinRAR田砂件52 KBorg.Epringframeworkubeans"3r1.2.REr.. 2014/9/a 9:30WinRAR 牛579 K0srg.s.pringtfAmework-cpnteKt.auppor»2014/9/3 9:20WinRAR庄林1牛1G5 KBorg.springframework.context-3.1.2.RL・.2014/9/3 9:20WinRAR压蜻交件813 KB 潺Qrg,Springfr^meworkccre-3-1,2-RELE,…2014/9/3 9:20WinRAR任国丈1牛440 K Borg.springframeworlGexpreESion-3.1...2014/9/3 9:20WinRAR. 件172 KBDrg,springfr0meworkjdbc-3,l P2,RELE. 2014/9/3 9:20WihRAR压髦立件396 KB^8 o rg.5pringfranmeworlctransaction-3.1..2014/9/3 9:20WinRAR田豪立件240 KBorg.springfra!mework.webr5ervlet-3,L—2014/9/3 9;20WinRAR压南文件564 KBorg.springframeworlGweb-3.LNR.ELE...2014/9/3 9:20WinRAR 田*件53fi KB 3. 将项目的业务逻辑分层:控制层、业务层、实体层、L1^3 Prefer^-irac-e-s- CFiltjr-r-edi)Dao 层。

spring+springmvc+mybatis组合总结

spring+springmvc+mybatis组合总结

spring+springmvc+mybatis组合总结springmvc+spring+mybatis整合:1. 拷贝所需jar2. 创建spring配置⽂件(beans.xml)3. 配置数据源<bean id="dataSource" class="mons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property><property name="username" value="root"></property><property name="password" value=""></property></bean>4.创建SqlSessionFactory实例:<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 指定数据源 --><property name="dataSource" ref="dataSource"/><!-- 指定mybatis的配置⽂件 --><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!--映射接⼝扫描mapper包下的所有xml⽂件 mapper是个包名应该是在main测试的时候才使⽤--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.liu.mapper"></property></bean>5. 配置事务<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean>6. 配置事务的传播特性<tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="find*" read-only="true"/><tx:method name="get*" read-only="true"/><tx:method name="query*" read-only="true"/><tx:method name="add*" propagation="REQUIRED"/><tx:method name="update*" propagation="REQUIRED"/><tx:method name="del*" propagation="REQUIRED"/></tx:attributes></tx:advice>7. 配置AOP<!-- 配置AOP --><aop:config><!--配置切⾯必须要有空格 *空格 ssmy 否则会报错--><aop:config><aop:pointcut expression="execcution(*空格 ssmy.service.impl.*.*(..))" id="pointcut"/><aop:advisor advice-ref="txadvice" pointcut-ref="pointcut"/></aop:config>9. 配置DispatcherServlet<!-- 配置Spring核⼼控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>10. 创建springmvc-servlet.xml配置⽂件:<!-- 注解扫描器 --><context:component-scan base-package="com.liu"/><!-- 配置试图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean><import resource="classpath:beans.xml"/>。

spring+spring mvc+mybits框架整合

spring+spring mvc+mybits框架整合

主要介绍三大框架的整合,至于环境的搭建以及项目的创建可以参考其他资料。

这次整合主要用到两个配置文件: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框架整合不需要在此处进行任何配置。

使用Eclipse搭建SSM框架(Spring+SpringMVC+Mybatis)

使用Eclipse搭建SSM框架(Spring+SpringMVC+Mybatis)

使⽤Eclipse搭建SSM框架(Spring+SpringMVC+Mybatis)1.创建项⽬1)打开Eclipse,点击File --> New --> Other2)输⼊maven,找到Maven Project3)然后⼀直按Next,直到出现⼀下界⾯:4)输⼊web后点击Aftifact Id为maven-archetype-webapp的选项,然后继续Next5)然后输⼊你的Group Id和项⽬名,点击finish6)项⽬创建好之后可能会出现如下情况:这是因为项⽬中缺少Tomcat有关jar包导致的,接下来我们就来解决这个问题,右键单击项⽬,选择Build Path --> Add Library --> Server Runtime,然后点击Next然后选择你要的Tomcat容器,点击Finish这个时候问题就解决了7)更改Dynamic Web Module和jdk版本号。

更改之前是这样的:⽽我电脑⾥配的Java环境是jdk1.8的,Tomcat的版本是9.0,可以将Dynamic Web Module版本改成3.1,但是不能直接在上⾯更改,接下来我就详细讲⼀下怎么更改这两个版本:⾸先找到你那个项⽬所在的路径,打开那个项⽬⽂件夹之后找到.settings⽂件夹,这个在你那⾥也可能被隐藏,记得打开显⽰隐藏⽂件夹的选项然后进⼊.settings⽂件夹,找到mon.project.facet.core.xml⽂件打开⽂件后改成你对应的版本 更改前》》》》》》》》 更改后》》》》》》》然后回到eclipse中,找到web.xml⽂件,将其修改为(对应Dynamic Web Module修改后的版本,我这⾥是3.1):<?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_3_1.xsd"version="3.1" metadata-complete="true"></web-app>第四部修改pom.xml⽂件(对应修改后的jdk版本),将其修改为:<build><plugins><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>最后右击项⽬,选择Maven --> Update Project弹出界⾯后勾选你当前的项⽬点击OK即可2.导⼊SSM项⽬所需要的jar包<project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion><groupId>com.test</groupId><artifactId>ssm</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>ssm Maven Webapp</name><url></url><properties><!-- Spring版本号 --><spring.version>4.3.8.RELEASE</spring.version></properties><dependencies><!-- Spring相关包 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><!-- AOP相关包 --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.8.0</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.0</version><!-- MyBatis相关包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><!-- MySQL相关包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.26</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.20</version></dependency><!-- Spring集成MyBatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.3</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.5.2</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.5.2</version></dependency><!-- JSP标准标签库 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- ⽇志相关包 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><!-- 单元测试相关包 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- spring对测试框架的简单封装功能 --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></plugins></build></project>3.完善项⽬结构相信⼤家细⼼的话都会发现,之前创建的项⽬⽬录少了⼀些东西:src/main/java 、src/test/java 、src/test/resources如果⼤家的情况和我⼀样的话,⾸先我们右击项⽬,选择 Build Path --> Configure Build Path,进⼊界⾯将有错误的⽂件Remove后点击Apply And Close然后右击项⽬,选择 New --> Source Folder输⼊名字后点击Finish,依次将缺失的⼏个补齐补齐之后,再右击项⽬,选择 Build Path --> Configure Build Path,进⼊界⾯,找到先前补齐的⽂件,更改Output Folder输出路径依次更改好之后点击Apply And Close将以上步骤做好之后,再右击项⽬,选择Properties,找到Deployment Assembly,移除以下两个⽂件夹后点击Apply And Close 4.创建配置⽂件log4j.properties⽂件:#USE THIS SETTING FOR OUTPUT MYBATIS`s SQL ON THE CONSOLElog4j.rootLogger=INFO, Console#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSet=INFO.apache=INFOlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!-- 设置别名,对应实体类包名 --><typeAliases><package name="com.zqz.pojo"/></typeAliases></configuration>spring-mvc.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 /schema/context/spring-context.xsd/schema/mvc /schema/mvc/spring-mvc.xsd"><!-- 启动⾃动扫描 --><context:component-scan base-package="com.zqz.*"/><!-- 注册MVC注解驱动 --><mvc:annotation-driven /><!-- 静态资源可访问的设置⽅式 --><mvc:default-servlet-handler /><!-- 配置视图解析器,可以显式设置,也可以不设置,不设置会依据SpringMVC的默认设置 --><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="messageConverters"><list><ref bean="jsonHttpMessageConverter"/></list></property></bean><bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property></bean></beans>spring-mybatis.xml⽂件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:context="/schema/context"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd"><!-- 指定扫描的包,对应service的实现类的包 --><context:component-scan base-package="com.zqz.students.service.impl"/><!-- Druid --><bean id="dataSource"class="com.alibaba.druid.pool.DruidDataSource"><property name="url"value="jdbc:mysql://localhost:3306/students?useUnicode=true&amp;characterEncoding=UTF-8"/> <property name="username" value="debian-sys-maint"/><property name="password" value="kzM7KVhkozRHJGp5"/></bean><!-- 注册SqlSessionFactoryBean --><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- ⾃动扫描mappers.xml⽂件 --><property name="mapperLocations"value="classpath*:com/zqz/dao/*.xml"/><property name="configLocation"value="classpath:mybatis-config.xml"></property></bean><!-- DAO接⼝所在包名,Spring会⾃动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.zqz.dao"/><property name="sqlSessionFactoryBeanName"value="sqlSessionFactory"/></bean></beans>spring-tx.xml⽂件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd/schema/context /schema/context/spring-context.xsd/schema/aop /schema/aop/spring-aop.xsd/schema/tx /schema/tx/spring-tx.xsd"><!-- 开启AOP注解扫描 --><aop:aspectj-autoproxy proxy-target-class="true"/><!-- 事务管理器,依赖于数据源 --><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!-- 编写通知:对事务进⾏增强(通知),需要编写对切⼊点和具体执⾏事务细节 --><tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><!--为切⼊点⽅法添加事务详情name:⽅法名,*表⽰任意⽅法名称propagation:设置传播⾏为isolation:设置隔离级别read-only:是否只读--><tx:method name="add*" propagation="REQUIRED" isolation="DEFAULT" read-only="false" rollback-for="Exception"/> <tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT" read-only="false" rollback-for="Exception"/> <tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT" read-only="false" rollback-for="Exception"/> </tx:attributes></tx:advice><!-- 设置AOP,让Spring⾃动对⽬标⽣成代理,需要使⽤AspectJ表达式 --><aop:config proxy-target-class="true"><!-- 切⾯:整合切⼊点和通知 --><aop:advisor advice-ref="txAdvice" pointcut="within(com.zqz.controller..*)"/></aop:config></beans><?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_3_1.xsd" version="3.1" metadata-complete="true"><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:/spring-mybatis.xml,classpath*:/spring-tx.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener><servlet><servlet-name>springServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath*:spring-mvc.xml</param-value></init-param><load-on-startup>2</load-on-startup></servlet><servlet-mapping><servlet-name>springServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><session-config><session-timeout>20</session-timeout></session-config></web-app>到这⾥整合也就完成了,只剩编写具体的业务代码了。

Spring+SpringMVC+Mybatis(SSM)Demo(入门详细步骤)

Spring+SpringMVC+Mybatis(SSM)Demo(入门详细步骤)

Spring+SpringMVC+Mybatis(SSM)Demo(⼊门详细步骤) 菜鸟⼀枚,刚刚接触Spring不久,前段时间按照⽹上的demo写了下SSM,发现好多都不懂,好不容易程序能运⾏,也能出应有的结果,但想再次安全靠⾃⼰写⼀遍,各个步骤完全记不住,因此发⼀随笔做好记录,⽅便后续查看。

该随笔按我⾃⼰的步骤⼀⼀记录下来,内容包括SpringMVC的配置,以及mybatis generator⾃动⽣成xml配置、entity、dao层等信息。

本⼯程的编辑器⽤的是IDEA,数据库⽤的MySQL。

⼀、新建⼯程1、运⾏IDEA,选择创建⼀个新⼯程,选择maven,创建对应的java web项⽬。

2、填写GroupId和ArtifactId3、配置本地maven仓库(我这⾥已经配置过了,所以显⽰如下)更改maven的本地仓库——更改C:\Users\⽤户名\.m2\setting.xml⽂件(如果没有该⽂件,可以去“idea安装⽬录\plugins\maven\lib\maven3\conf”下复制过来,该⽬录是在安装idea时选择安装maven插件时⾃动⽣成的)中添加<localRepository>本地仓库地址</localRepository>4、填写⼯程名完成⼯程的创建。

5、为了去除spring等框架版本和jdk版本不兼容问题,在settings⾥修改⼯程的jdk版本。

6、更改项⽬结构(图中的xml⽂件都是后续创建的,可以不管)- java 主Java代码⽂件夹 - controller 控制器⽂件⽂件夹 - dao 数据访问层⽂件夹 - service 业务逻辑层⽂件夹 - entity 实体层⽂件夹- resources 资源⽂件夹(要将此定义为Sources Root,不然classpath不会指向该⽬录,卡了本菜鸟好久=_=。

右键选择Mark directory as-->Sources Root-->显⽰) - mapper mybatis sql⽂件夹- webapp web页⾯⽂件夹 -WEB-INF web应⽤的安全⽬录- test 测试⽂件夹⼆、Maven包的初始化1、修改pom.xml配置⽂件相关jar包的⾃动导⼊参考配置如下:1<?xml version="1.0" encoding="UTF-8"?>23<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"4 xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">5<modelVersion>4.0.0</modelVersion>67<groupId>com.mycompany.app</groupId>8<artifactId>Demo</artifactId>9<version>1.0-SNAPSHOT</version>10<packaging>war</packaging>1112<name>Demo Maven Webapp</name>13<!-- FIXME change it to the project's website -->14<url></url>1516<dependencies>17<dependency>18<groupId>junit</groupId>19<artifactId>junit</artifactId>20<version>4.12</version>21<scope>test</scope>22</dependency>23<dependency>24<groupId>org.springframework</groupId>25<artifactId>spring-core</artifactId>26<version>4.3.5.RELEASE</version>27</dependency>28<dependency>29<groupId>org.springframework</groupId>30<artifactId>spring-aop</artifactId>31<version>4.3.5.RELEASE</version>32</dependency>33<dependency>34<groupId>org.springframework</groupId>35<artifactId>spring-orm</artifactId>36<version>4.3.5.RELEASE</version>37</dependency>38<dependency>39<groupId>org.springframework</groupId>40<artifactId>spring-tx</artifactId>41<version>4.3.5.RELEASE</version>42</dependency>43<dependency>44<groupId>org.springframework</groupId>45<artifactId>spring-test</artifactId>46<version>4.3.5.RELEASE</version>47</dependency>48<dependency>49<groupId>org.springframework</groupId>50<artifactId>spring-mock</artifactId>51<version>2.0.8</version>52</dependency>53<dependency>54<groupId>org.springframework</groupId>55<artifactId>spring-jdbc</artifactId>56<version>4.3.5.RELEASE</version>57</dependency>58<dependency>59<groupId>org.springframework</groupId>60<artifactId>spring-context</artifactId>61<version>4.3.5.RELEASE</version>62</dependency>63<dependency>64<groupId>org.springframework</groupId>65<artifactId>spring-context-support</artifactId>66<version>4.3.5.RELEASE</version>67</dependency>68<dependency>69<groupId>org.springframework</groupId>70<artifactId>spring-expression</artifactId>71<version>4.3.5.RELEASE</version>72</dependency>73<!--Spring Web + Spring MVC-->74<dependency>75<groupId>org.springframework</groupId>76<artifactId>spring-web</artifactId>77<version>4.3.1.RELEASE</version>78</dependency>79<dependency>80<groupId>org.springframework</groupId>81<artifactId>spring-webmvc</artifactId>82<version>4.3.1.RELEASE</version>83</dependency>84<dependency>85<groupId>com.github.pagehelper</groupId>86<artifactId>pagehelper</artifactId>87<version>3.7.3</version>88</dependency>89<dependency>90<groupId>com.github.jsqlparser</groupId>91<artifactId>jsqlparser</artifactId>92<version>0.9.1</version>93</dependency>94<!--mysql jdbc-->95<dependency>96<groupId>mysql</groupId>97<artifactId>mysql-connector-java</artifactId>98<version>5.1.38</version>99</dependency>100<!--c3p0-->101<dependency>102<groupId>c3p0</groupId>103<artifactId>c3p0</artifactId>104<version>0.9.1.2</version>105</dependency>106<!--NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config--> 107<!-- https:///artifact/jstl/jstl -->108<dependency>109<groupId>jstl</groupId>110<artifactId>jstl</artifactId>111<version>1.2</version>113<!--file upload jar package-->114<!-- https:///artifact/commons-fileupload/commons-fileupload -->115<dependency>116<groupId>commons-fileupload</groupId>117<artifactId>commons-fileupload</artifactId>118<version>1.3.1</version>119</dependency>120<!-- https:///artifact/commons-io/commons-io -->121<dependency>122<groupId>commons-io</groupId>123<artifactId>commons-io</artifactId>124<version>2.4</version>125</dependency>126<!-- https:///artifact/commons-lang/commons-lang -->127<dependency>128<groupId>commons-lang</groupId>129<artifactId>commons-lang</artifactId>130<version>2.6</version>131</dependency>132<!-- https:///artifact/commons-beanutils/commons-beanutils -->133<dependency>134<groupId>commons-beanutils</groupId>135<artifactId>commons-beanutils</artifactId>136<version>1.8.3</version>137</dependency>138<!-- https:///artifact/commons-collections/commons-collections -->139<dependency>140<groupId>commons-collections</groupId>141<artifactId>commons-collections</artifactId>142<version>3.2.1</version>143</dependency>144<!-- https:///artifact/commons-logging/commons-logging -->145<dependency>146<groupId>commons-logging</groupId>147<artifactId>commons-logging</artifactId>148<version>1.2</version>149</dependency>150<!-- https:///artifact/net.sf.ezmorph/ezmorph -->151<dependency>152<groupId>net.sf.ezmorph</groupId>153<artifactId>ezmorph</artifactId>154<version>1.0.6</version>155</dependency>156<!--json serialize and deserialization-->157<!-- 引⼊fastjson依赖 -->158<dependency>159<groupId>com.alibaba</groupId>160<artifactId>fastjson</artifactId>161<version>1.2.12</version>162</dependency>163<!-- 引⼊gson依赖 -->164<dependency>165<groupId>com.google.code.gson</groupId>166<artifactId>gson</artifactId>167<version>2.6.2</version>168</dependency>169<!--Base64 加解密-->170<!-- https:///artifact/net.iharder/base64 -->171<dependency>172<groupId>net.iharder</groupId>173<artifactId>base64</artifactId>174<version>2.3.8</version>175</dependency>176<!-- https:///artifact/commons-codec/commons-codec -->177<dependency>178<groupId>commons-codec</groupId>179<artifactId>commons-codec</artifactId>180<version>1.10</version>181</dependency>182<!--log4j-->183<!-- https:///artifact/org.apache.logging.log4j/log4j-core -->184<dependency>185<groupId>org.apache.logging.log4j</groupId>186<artifactId>log4j-core</artifactId>187<version>2.6.2</version>188</dependency>189<dependency>190<groupId>org.jetbrains</groupId>191<artifactId>annotations-java5</artifactId>192<version>RELEASE</version>193</dependency>194<!--mybatis 应⽤mybatis需要导⼊mybatis,将mybatis和spring整合在⼀起需要导⼊mybatis-spring--> 195<dependency>196<groupId>org.mybatis</groupId>197<artifactId>mybatis</artifactId>198<version>3.3.0</version>199</dependency>200<dependency>201<groupId>org.mybatis</groupId>202<artifactId>mybatis-spring</artifactId>203<version>1.2.3</version>204</dependency>205<dependency>206<groupId>org.mybatis.generator</groupId>207<artifactId>mybatis-generator-core</artifactId>208<version>1.3.2</version>209</dependency>211212<build>213<finalName>Demo</finalName>214<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->215<plugins>216<plugin>217<artifactId>maven-clean-plugin</artifactId>218<version>3.0.0</version>219</plugin>220<!-- see /ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->221<plugin>222<artifactId>maven-resources-plugin</artifactId>223<version>3.0.2</version>224</plugin>225<plugin>226<artifactId>maven-compiler-plugin</artifactId>227<version>3.7.0</version>228</plugin>229<plugin>230<artifactId>maven-surefire-plugin</artifactId>231<version>2.20.1</version>232</plugin>233<plugin>234<artifactId>maven-war-plugin</artifactId>235<version>3.2.0</version>236</plugin>237<plugin>238<artifactId>maven-install-plugin</artifactId>239<version>2.5.2</version>240</plugin>241<plugin>242<artifactId>maven-deploy-plugin</artifactId>243<version>2.8.2</version>244</plugin>245</plugins>246</pluginManagement>247</build>248</project>View Code三、SpringMVC的配置1、(⼀般在resource⽂件夹或者WEB-INF⽂件夹)新建spring-servlet.xml⽂件(⽂件名称⼀般为“xxx-servlet.xml”),声明SpringMVC框架对控制器、页⾯、资源的访问。

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。

之前没有记录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 。

Eclipse使用maven搭建springmvc图文教程

Eclipse使用maven搭建springmvc图文教程

Eclipse使⽤maven搭建springmvc图⽂教程本⽂为⼤家介绍了Eclipse使⽤maven搭建spring mvc的详细步骤,供⼤家参考,具体内容如下1、环境配置a). Java 1.7b). Eclipse lunac). Maven3.2.5d). Spring 4.1.42、创建maven⼯程a). 打开eclipse,file->new->project->Maven->Maven Projectb). 下⼀步c). 选择创建的⼯程为webapp,下⼀步d). 填写项⽬的group id和artifact id。

⼀般情况下,group id写域名的倒序,artifact id写项⽬名称即可。

最后点完成。

e). 最初建好后,项⽬⽬录结构如下f). ⼀般的项⽬⽬录中,在java Resources⽬录下,还有src/main/java,src/main/test/java,src/main/test/resources这三个source folder,需要⼿动创建。

在下⾯的步骤中会讲到如何补齐这三个⽬录。

3、修改项⽬基本设置a). 右键此项⽬名称->Properties->Java Build path,点击source标签。

b). 提⽰ hello/src/main/java (missing)和hello/src/test/java (missing)。

⼀般的项⽬⽬录中,在java Resources⽬录下,还会有src/main/test/resources这个source folder。

将missing的先删除,再重新创建,缺少的直接创建。

点右键操作按键进⾏删除和添加。

c). 修改完整,效果如下图d). 接下来再修改libraries的配置,jre使⽤1.7版本。

选中JRE System Library->edit ,更换版本。

e). 再修改⼀下order and export⾥的配置,主要是调整这四个⽬录的显⽰顺序,调为⾃⼰喜欢的顺序即可f). 接下来再修改project facets,先将java修改为1.7。

spring、mybatis配置方式详解(常用两种方式)

spring、mybatis配置方式详解(常用两种方式)

spring、mybatis配置⽅式详解(常⽤两种⽅式)在之前的⽂章中总结了三种⽅式,但是有两种是注解sql的,这种⽅式⽐较混乱所以⼤家不怎么使⽤,下⾯总结⼀下常⽤的两种总结⽅式:⼀、动态代理实现不⽤写dao的实现类这种⽅式⽐较简单,不⽤实现dao层,只需要定义接⼝就可以了,这⾥只是为了记录配置⽂件所以程序写的很简单:1、整体结构图:2、三个配置⽂件以及⼀个映射⽂件(1)、程序⼊⼝以及前端控制器配置 web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID"version="3.0"><display-name>website1</display-name><!-- 设置监听,在web容器启动时⾃动装配ApplicationContext的配置信息--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 设置Spring容器加载配置⽂件路径 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/springmvc-servlet.xml,classpath:config/ApplicationContext.xml</param-value></context-param><!-- 字符编码过滤器 --><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>*.do</url-pattern></filter-mapping><!-- 前端控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/springmvc-servlet.xml</param-value></init-param><!-- 这个配置⽂件在容器启动的时候就加载 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!-- 拦截请求 --><url-pattern>*.do</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list></web-app>(2)、扫描控制层、⾃动注⼊以及视图解析器的配置 springmvc-servlet.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:aop="/schema/aop" xmlns:context="/schema/context"xmlns:mvc="/schema/mvc" xmlns:util="/schema/util"xmlns:tx="/schema/tx" xmlns:jdbc="/schema/jdbc"xmlns:cache="/schema/cache"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.1.xsd/schema/aop /schema/aop/spring-aop-3.1.xsd/schema/context /schema/context/spring-context-3.1.xsd/schema/mvc /schema/mvc/spring-mvc-3.1.xsd/schema/util /schema/util/spring-util-3.1.xsd/schema/tx /schema/tx/spring-tx-3.1.xsd/schema/jdbc /schema/jdbc/spring-jdbc-3.1.xsd/schema/cache /schema/cache/spring-cache-3.1.xsd"><!-- 注解驱动 --><mvc:annotation-driven /><!-- <context:annotation-config /> --><!-- context:component-scan 具有annotation-config 的功能 --><!-- 扫描控制层 --><context:component-scan base-package="com.website.controller"></context:component-scan><!-- 视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/view/"></property><property name="suffix" value=".jsp"></property></bean></beans>(3)、数据源、service ⾃动扫描注⼊、spring代管mybatissqlsessionFactory 、dao层接⼝动态代理以及事务的配置ApplicationContext.xml这⾥会有多中配置⽂件1)、单数据源,动态代理实现dao层接⼝时不设置sqlSessionFactoryBeanName、或sqlSessionTemplateBeanName 两个属性的值<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:tx="/schema/tx" xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.2.xsd /schema/context/schema/context/spring-context-3.2.xsd/schema/tx/schema/tx/spring-tx-3.2.xsd"><!-- 加载配置JDBC⽂件 --><context:property-placeholder location="classpath:db.properties" /><!-- 数据源 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>${jdbc.driverClassName}</value></property><property name="url"><value>${jdbc.url}</value></property><property name="username"><value>${ername}</value></property><property name="password"><value>${jdbc.password}</value></property></bean><!-- 开启注解配置即Autowried --><!-- <context:annotation-config/> --><!--其实component-scan 就有了annotation-config的功能即把需要的类注册到了spring容器中 --><context:component-scan base-package="com.website.service" /><!-- 在使⽤mybatis时 spring使⽤sqlsessionFactoryBean 来管理mybatis的sqlsessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- mybatis配置⽂件路径 --><property name="configLocation" value="" /><!-- 实体类映射⽂件路径,这⾥只有⼀个就写死了,多个可以使⽤mybatis/*.xml来替代 --><property name="mapperLocations" value="classpath:mybatis/userMapper.xml" /></bean><!-- <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0"> <ref bean="sqlSessionFactory"/> </constructor-arg> </bean> --><!--动态代理实现不⽤写dao的实现 --><bean id="MapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 这⾥的basePackage 指定了dao层接⼝路劲,这⾥的dao接⼝不⽤⾃⼰实现 --><property name="basePackage" value="com.website.dao" /><!-- 如果只有⼀个数据源的话可以不⽤指定,但是如果有多个数据源的话必须要指定 --><!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> --><!--直接指定了sqlsessionTemplate名称,这个和上⾯的其实是⼀样的 --><!-- <property name="sqlSessionTemplateBeanName" value="sqlSession" /> --></bean><!--事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 使⽤全注释事务 --><tx:annotation-driven transaction-manager="transactionManager" /></beans>2)、单数据源配置 sqlSessionFactoryBeanName 这个属性值<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:tx="/schema/tx" xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.2.xsd /schema/context/schema/context/spring-context-3.2.xsd/schema/tx/schema/tx/spring-tx-3.2.xsd"><!-- 加载配置JDBC⽂件 --><context:property-placeholder location="classpath:db.properties" /><!-- 数据源 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>${jdbc.driverClassName}</value></property><property name="url"><value>${jdbc.url}</value></property><property name="username"><value>${ername}</value></property><property name="password"><value>${jdbc.password}</value></property></bean><!-- 开启注解配置即Autowried --><!-- <context:annotation-config/> --><!--其实component-scan 就有了annotation-config的功能即把需要的类注册到了spring容器中 --><context:component-scan base-package="com.website.service" /><!-- 在使⽤mybatis时 spring使⽤sqlsessionFactoryBean 来管理mybatis的sqlsessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- mybatis配置⽂件路径 --><property name="configLocation" value="" /><!-- 实体类映射⽂件路径,这⾥只有⼀个就写死了,多个可以使⽤mybatis/*.xml来替代 --><property name="mapperLocations" value="classpath:mybatis/userMapper.xml" /></bean><!-- <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0"> <ref bean="sqlSessionFactory"/> </constructor-arg> </bean> --><!--动态代理实现不⽤写dao的实现 --><bean id="MapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 这⾥的basePackage 指定了dao层接⼝路劲,这⾥的dao接⼝不⽤⾃⼰实现 --><property name="basePackage" value="com.website.dao" /><!-- 如果只有⼀个数据源的话可以不⽤指定,但是如果有多个数据源的话必须要指定 --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /><!--直接制定了sqlsessionTemplate名称,这个和上⾯的其实是⼀样的 --><!-- <property name="sqlSessionTemplateBeanName" value="sqlSession" /> --></bean><!--事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 使⽤全注释事务 --><tx:annotation-driven transaction-manager="transactionManager" /></beans>3)、单数据源配置sqlSessionTemplateBeanName 这个属性值<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:tx="/schema/tx" xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.2.xsd /schema/context/schema/context/spring-context-3.2.xsd/schema/tx/schema/tx/spring-tx-3.2.xsd"><!-- 加载配置JDBC⽂件 --><context:property-placeholder location="classpath:db.properties" /><!-- 数据源 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>${jdbc.driverClassName}</value></property><property name="url"><value>${jdbc.url}</value></property><property name="username"><value>${ername}</value></property><property name="password"><value>${jdbc.password}</value></property></bean><!-- 开启注解配置即Autowried --><!-- <context:annotation-config/> --><!--其实component-scan 就有了annotation-config的功能即把需要的类注册到了spring容器中 --><context:component-scan base-package="com.website.service" /><!-- 在使⽤mybatis时 spring使⽤sqlsessionFactoryBean 来管理mybatis的sqlsessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- mybatis配置⽂件路径 --><property name="configLocation" value="" /><!-- 实体类映射⽂件路径,这⾥只有⼀个就写死了,多个可以使⽤mybatis/*.xml来替代 --><property name="mapperLocations" value="classpath:mybatis/userMapper.xml" /></bean><bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><constructor-arg index="0"><ref bean="sqlSessionFactory" /></constructor-arg></bean><!--动态代理实现不⽤写dao的实现 --><bean id="MapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 这⾥的basePackage 指定了dao层接⼝路劲,这⾥的dao接⼝不⽤⾃⼰实现 --><property name="basePackage" value="com.website.dao" /><!-- 如果只有⼀个数据源的话可以不⽤指定,但是如果有多个数据源的话必须要指定 --><!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> --><!--直接制定了sqlsessionTemplate名称,这个和上⾯的其实是⼀样的 --><property name="sqlSessionTemplateBeanName" value="sqlSession" /></bean><!--事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 使⽤全注释事务 --><tx:annotation-driven transaction-manager="transactionManager" /></beans>4)、多数据源注意如果是多数据源则⼀定要使⽤sqlSessionFactoryBeanName 或sqlSessionTemplateBeanName 来指定具体的数据源,不知道在上⾯的配置中有没有注意到,如果使⽤sqlSessionTemplateBeanName 的话要<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><constructor-arg index="0"><ref bean="sqlSessionFactory" /></constructor-arg></bean>来创建具体的实例并赋值给sqlSessionTemplateBeanName 这个属性。

MyBatis,Spring整合简易教程

MyBatis,Spring整合简易教程

MyBatis,Spring整合简易教程轻量级JavaEEMyBatisSpring整合在实际的项目开发中,我们需要将MyBatis和Spring进行整合,通过Spring 的依赖注入以减少代码的耦合。

本文以MyEclipse和MySQL数据库为开发环境简单的讲解一下MyBatis和Spring的整合过程。

首先我们创建一个Java Project,名称任意,然后导入所需要包:spring3.1.1, mybatis-3.1.1.jar,mysql-connector-java-5.1.2-beta-bin.jar ,mybatis-spring-1.1.1.jar第一步:创建数据库表在Navicat下执行如下sql命令创建表User.Sql代码1.CREATE TABLE user2.(3. id int(11) NOT NULL AUTO_INCREMENT,4. username varchar(20) NOT NULL,5. password varchar(20) NOT NULL,6. PRIMARY KEY (id)7.) ENGINE=InnoDB DEFAULT CHARSET=utf8;然后插入测试数据Sql代码1.INSERT INTO user VALUES ('1', 'admin', 'admin');第二步:创建model创建一个model包并在其下创建一个User.java文件。

Java代码1.package model;2.3.public class User {4. private int id;5. private String username;6. private String password;7. public User(){8.9. }10. public int getId() {11. return id;12. }13. public void setId(int id) {14. this.id = id;15. }16. public String getUsername() {17. return username;18. }19. public void setUsername(String username) {20. ername = username;21. }22. public String getPassword() {23. return password;24. }25. public void setPassword(String password) {26. this.password = password;27. }28. public String toString(){29. return "User [id = "+ id +" , username = "+ username +"]" + " , password = "+ password;30. }31.}第三步:创建DAO接口(这里我们对增删改查进行简单的实现)创建一个包dao,并在其下创建一个UserMapper.java文件作为DAO接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。

1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。

1.3 说明本文档是个人总结的经验,仅供参考学习,同时欢迎朋友们一起沟通学习,文档中会对使用的jar做详细解说,对配置的过程使用图文说明,因为SSI博大精深,很多知识在搭建过程中没有使用到,只是一个基础框架的搭建,能测试通过就可以,所以对于高要求的开发,需要自己添加jar、增加方法和配置,同时文档中出现的纰漏希望朋友们等指正。

开发环境eclipse-jee-indigo-SR1-win32-dic,Tomcat7.0,JDK1.7,mysql。

2搭建S p r i n g M V C 2.1 搭建所需jar包2.2 其他依赖包2.3 搭建步骤2.3.1 创建项目创建一个web项目,如下所示:需要配置tomcat,用于web启动容器。

2.3.2 导入jar包项目中点击lib,复制需要的jar到lib中即完成导入,如下所示:如果没有导入完成,右键点击项目名(SSH),选择properties-Java Build Path,点击Add Extenrnal JARs,选择项目lib中的jar包进行导入,如下所示:2.3.3 配置web.xml在WEB-INF下配置web.xml,若没有该文件,则自己创建一个xml文件,主要配置spring容器,内容如下所示:<?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="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><!-- 定义LOG4J监听器 --><listener><listener-class>org.springframework.web.util.Log4jConfigListener</lis tener-class></listener><!-- log4jConfigLocation:log4j配置文件存放路径 --><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:config/log4j.properties</param-value></context-param><!-- springMVC Servlet配置 --><servlet><servlet-name>springMvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</ser vlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/spring-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><!-- spring监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener </listener-class></listener><!-- 防止spring内存溢出监听器 --><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListe ner</listener-class></listener><!-- 装载spring配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/applicationContext.xml</param-value></context-param><!-- 字符集过滤器 --><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-config><session-timeout>15</session-timeout></session-config><!-- 系统首页 --><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>备注:web.xml中,引入了spring-servlet.xml和applicationContext.xml文件,需要把log4j配置在前面,否则会报警告,因为后续加载的程序有打印日志的需求,不过不影响系统运行。

2.3.4 配置spring-servlet.xml该文件主要进行springmvc的相关配置,如注解、映射、解析等。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:mvc="/schema/mvc"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.2.xsd/schema/mvc/schema/mvc/spring-mvc-3.2.xsd /schema/context/schema/context/spring-context-3.2.xsd"><!-- 启用spring mvc 注解 --><mvc:annotation-driven /><!-- 设置使用注解的类所在的jar包 --><context:component-scan base-package="com.xxx.controller" /><!-- 完成请求和注解POJO的映射 --><beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMetho dHandlerAdapter" /><!-- 对转向页面的路径解析。

相关文档
最新文档