自己搭建一个SSM框架

工作中我们或多或少都需要自己搭建一个框架,现在常见的Java开源框架组合方式主要为:SSH,spring+springMVC+Mybatis,SSM。

其中SSM目前无论是培训机构培训亦或是招聘。都会将会使用SSM框架作为一个重要能力来作为培训或是招聘的重要目标之一,下面我将自己自学时搭建的一个SSM项目分享出来,供初学者参阅。

1.第一步,我们需要搭建好自己的开发环境(IDE) 笔者使用的是myeclipse+tomcat+mysql

2.第二步创建一个web工程 工程名自定义,创建好了之后按照MVC设计模式创建好所有的包或文件夹(domain用于存放javabean对象,config用于存放所有的配置文件),并将SSM框架所需要的所有jar包导入到项目中

自己搭建一个SSM框架_第1张图片自己搭建一个SSM框架_第2张图片

3.编写项目的配置文件(配置文件中每部分的含义,有详细的注释说明)

a.spring的配置文件application-context.xml配置文件

 

[html] view plain copy

  1. xml version="1.0" encoding="UTF-8" ?>  
  2. <beans   
  3.       xmlns="http://www.springframework.org/schema/beans"  
  4.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.       xmlns:context="http://www.springframework.org/schema/context"  
  6.       xmlns:aop="http://www.springframework.org/schema/aop"  
  7.       xmlns:tx="http://www.springframework.org/schema/tx"  
  8.       xmlns:mvc="http://www.springframework.org/schema/mvc"  
  9.           
  10.       xsi:schemaLocation="  
  11.       
  12.       http://www.springframework.org/schema/beans   
  13.       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  14.         
  15.       http://www.springframework.org/schema/context  
  16.       http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  17.         
  18.       http://www.springframework.org/schema/aop   
  19.       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
  20.         
  21.       http://www.springframework.org/schema/tx  
  22.       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
  23.       
  24.       http://www.springframework.org/schema/mvc  
  25.       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
  26.       ">  
  27.         
  28.           
  29.       context:component-scan>  
  30.         
  31.       <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  32.         <property name="locations">  
  33.             <value>classpath:config/jdbc.propertiesvalue>  
  34.         property>  
  35.       bean>  
  36.       <bean id="c3p0datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">  
  37.         <property name="driverClass" value="${jdbc.driverClassName}">property>  
  38.         <property name="jdbcUrl" value="${jdbc.url}">property>  
  39.         <property name="user" value="${jdbc.username}">property>  
  40.         <property name="password" value="${jdbc.password}">property>  
  41.       bean>  
  42.         
  43.         
  44.       <bean name="sqlsessionfactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  45.           
  46.         <property name="configLocation" value="classpath:config/mybatis.xml">property>  
  47.         <property name="dataSource" ref="c3p0datasource">property>  
  48.           
  49.         <property name="mapperLocations" value="classpath:scmweb/log/scmdao/*.xml">property>  
  50.       bean>  
  51.         
  52.   
  53.   
  54.         
  55.         
  56.       <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  57.         <property name="dataSource" ref="c3p0datasource">property>  
  58.       bean>  
  59.         
  60.       <tx:advice id="tx" transaction-manager="transactionManager">  
  61.         <tx:attributes>  
  62.             <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>  
  63.             <tx:method name="update*" propagation="REQUIRED"/>  
  64.             <tx:method name="insert*" propagation="REQUIRED"/>  
  65.             <tx:method name="*"  propagation="SUPPORTS"/>  
  66.         tx:attributes>  
  67.       tx:advice>  
  68.         
  69.       <aop:config>  
  70.         <aop:pointcut id="acut"  expression="execution(* scmweb.log.scmservice.*.*(..))" />  
  71.         <aop:advisor advice-ref="tx" pointcut-ref="acut"/>  
  72.       aop:config>  
  73.        
  74.       
  75.             <property name="basePackage" value="scmweb.log.scmdao"/>  
  76.         bean>  
  77.   
  78.        
  79. beans>  

b.jdbc.property配置文件

 

 

[html] view plain copy

  1. jdbc.driverClassName=com.mysql.jdbc.Driver  
  2. jdbc.url=jdbc\:mysql\://localhost\:3306/scm?useUnicode\=true&characterEncoding\=UTF-8  
  3. jdbc.username=root  
  4. jdbc.password=root  

c.mybatis.xml配置文件

 

 

[html] view plain copy

  1. xml version="1.0" encoding="UTF-8"?>  
  2. "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  3. <configuration>  
  4.     <typeAliases>  
  5.            
  6.   
  7.   
  8. configuration>  


d.springMVC.xml配置文件

 

 

[html] view plain copy

  1. xml version="1.0" encoding="UTF-8"?>  
  2. <beans   
  3.       xmlns="http://www.springframework.org/schema/beans"  
  4.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.       xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.       xmlns:context="http://www.springframework.org/schema/context"  
  7.       xsi:schemaLocation="  
  8.       
  9.       http://www.springframework.org/schema/beans   
  10.       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  11.       
  12.       http://www.springframework.org/schema/mvc  
  13.       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
  14.         
  15.       http://www.springframework.org/schema/context  
  16.       http://www.springframework.org/schema/context/spring-context-3.0.xsd   
  17.       ">  
  18.         
  19.       <mvc:annotation-driven/>  
  20.       <context:component-scan base-package="scmweb">  
  21.   
  22.         <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>  
  23.       context:component-scan>  
  24.         
  25.   
  26.        
  27.         
  28.       <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">bean>  
  29.         
  30.          
  31.       <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  32.           
  33.           
  34.         <property name="prefix" value="/WEB-INF/view/">property>  
  35.           
  36.         <property name="suffix" value=".jsp">property>  
  37.       bean>  
  38.         
  39.       
  40.         
  41.   
  42.   <listener>  
  43.         <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>  
  44.   listener>  
  45.        
  46.   <context-param>  
  47.         <param-name>contextConfigLocationparam-name>  
  48.         <param-value>classpath:config/application-context.xmlparam-value>  
  49.   context-param>  
  50.     
  51.     
  52.   <servlet>  
  53.     <servlet-name>DispatcherServletservlet-name>  
  54.     <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>  
  55.     <init-param>  
  56.         <param-name>contextConfigLocationparam-name>  
  57.         <param-value>classpath:config/springMVC.xmlparam-value>  
  58.     init-param>  
  59.   servlet>  
  60.   <servlet-mapping>  
  61.     <servlet-name>DispatcherServletservlet-name>  
  62.     <url-pattern>*.actionurl-pattern>  
  63.   servlet-mapping>  
  64.     <filter>  
  65.     <filter-name>CharacterEncodingFilterfilter-name>  
  66.     <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>  
  67.     <init-param>  
  68.         <param-name>encodingparam-name>  
  69.         <param-value>UTF-8param-value>  
  70.     init-param>  
  71.   filter>  
  72.   <filter-mapping>  
  73.     <filter-name>CharacterEncodingFilterfilter-name>  
  74.     <url-pattern>/*url-pattern>  
  75.   filter-mapping>  
  76.     
  77.     
  78.     
  79. web-app>  

 

配置到这一步之后,会发现,现在需要手动创建javabean实例、dao层的接口以及javabean对应表格的mapper配置文件,因此,这里用到了一个mybatis逆向工程的插件,用于自动生成上述三个部分

4.配置mybatis的逆向工程插件

a.首先需要在myeclipse的安装目录中添加逆向工程

首先找见安装目录中的MyEclipse 10下创建add-plugins\mybatis-generater文件夹,然后将逆向工程压缩包解压之后的两个文件夹放到改目录下

D:\myprogram1\myeclipse10\MyEclipse 10\add-plugins\mybatis-generater

自己搭建一个SSM框架_第3张图片

其次在myeclipse的安装目录D:\myprogram1\myeclipse10\MyEclipse 10\dropins下创建mybatis.link文件(后缀为.link),文件内容为:path=D:\\myprogram1\\myeclipse10\\MyEclipse 10\\add-plugins\\mybatis-generater

重启myecplise,将中generatorConfig.xml添加到项目中

b.generatorConfig.xml配置文件

 

[html] view plain copy

  1. xml version="1.0" encoding="UTF-8"?>  
  2.   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  3.   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
  4.   
  5.         
  6.      <classPathEntry location="E:\mybatis\mysql-connector-java-5.1.7-bin.jar"/>  
  7.       
  8.     <context id="testTables" targetRuntime="MyBatis3">  
  9.   
  10.         <commentGenerator>  
  11.           
  12.             <property name="suppressAllComments" value="true" />  
  13.                
  14.             <property name="suppressDate" value="true" />  
  15.         commentGenerator>  
  16.           
  17.         <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
  18.             connectionURL="jdbc:mysql://localhost:3306/scm?useUnicode=true&characterEncoding=UTF-8" userId="root" password="root">  
  19.         jdbcConnection>  
  20.           
  21.                   
  22.         <javaModelGenerator targetPackage="scmweb.log.domain"  
  23.             targetProject="SCM/src">  
  24.               
  25.             <property name="trimStrings" value="false" />  
  26.         javaModelGenerator>  
  27.           
  28.         <sqlMapGenerator targetPackage="scmweb.log.scmdao"  
  29.             targetProject="SCM/src" />  
  30.           
  31.         <javaClientGenerator type="XMLMAPPER" targetPackage="scmweb.log.scmdao" targetProject="SCM/src" />  
  32.           
  33.         

你可能感兴趣的:(Java)