ssm框架整合

来源:互联网 发布:ps如何把图片矩阵排列 编辑:程序博客网 时间:2024/06/03 21:07

ssm框架整合

ssm 框架整合,包括两个配置文件spring和mybatis的配置文件application.xml和springmvc的配置springmvc.xml,还有两个资源文件db.properties,log4j.properties。下面是maven项目的搭建:

  1. ssm框架所要使用的jar包

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.oaec</groupId>  <artifactId>ssm</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>pom</packaging>  <!-- 锁定版本 -->    <properties>        <spring.version>4.3.7.RELEASE</spring.version>        <slf4j.version>1.7.25</slf4j.version>        <log4j.version>1.2.17</log4j.version>        <mysql.version>5.1.41</mysql.version>        <c3p0.version>0.9.1.2</c3p0.version>    </properties>    <dependencyManagement>        <dependencies>            <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-context</artifactId>                <version>${spring.version}</version>            </dependency>            <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-aspects</artifactId>                <version>${spring.version}</version>            </dependency>            <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-orm</artifactId>                <version>${spring.version}</version>            </dependency>            <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-test</artifactId>                <version>${spring.version}</version>            </dependency>            <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-web</artifactId>                <version>${spring.version}</version>            </dependency>        </dependencies>    </dependencyManagement>    <dependencies>        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis</artifactId>            <version>3.4.2</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.12</version>        </dependency>        <!-- log start -->        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>${log4j.version}</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>${slf4j.version}</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>${slf4j.version}</version>        </dependency>        <!-- log end -->        <!-- jdbc驱动包  -->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.41</version>        </dependency>        <!-- spring核心包 -->        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjweaver</artifactId>            <version>1.6.8</version>        </dependency>        <dependency>            <groupId>aopalliance</groupId>            <artifactId>aopalliance</artifactId>            <version>1.0</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-aspects</artifactId>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-test</artifactId>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-web</artifactId>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>4.3.7.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-jdbc</artifactId>            <version>4.3.7.RELEASE</version>        </dependency>        <!-- 整合spring mybatis -->        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis-spring</artifactId>            <version>1.3.1</version>        </dependency>        <!-- C3P0连接池 -->        <dependency>            <groupId>c3p0</groupId>            <artifactId>c3p0</artifactId>            <version>${c3p0.version}</version>        </dependency>        <!-- JSTL标签库 -->        <dependency>            <groupId>jstl</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <dependency>            <groupId>dom4j</groupId>            <artifactId>dom4j</artifactId>            <version>1.6.1</version>        </dependency>        <!-- JSP -->        <dependency>            <groupId>javax.servlet.jsp</groupId>            <artifactId>jsp-api</artifactId>            <version>2.0</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>servlet-api</artifactId>            <version>2.5</version>            <scope>provided</scope>        </dependency>        <!-- druid连接池 -->        <dependency>            <groupId>druid-master</groupId>            <artifactId>druid</artifactId>            <version>1.0.29</version>        </dependency>        <!-- 逆向工程 -->        <dependency>            <groupId>mybatis</groupId>            <artifactId>mybatis-generator-core</artifactId>            <version>1.3.5</version>        </dependency>        <!-- 上传组件 -->        <dependency>            <groupId>commons-fileupload</groupId>            <artifactId>commons-fileupload</artifactId>            <version>1.3.2</version>        </dependency>        <!-- JSON -->        <dependency>            <groupId>core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.8.8</version>        </dependency>    </dependencies>    <!-- 解决乱码 -->    <build>        <pluginManagement>            <plugins>                <plugin>                    <groupId>org.apache.maven.pluginsn>                    <artifactId>maven-compiler-plugin</artifactId>                    <configuration>                        <source>1.8</source>                        <target>1.8</target>                        <encoding>UTF-8</encoding>                    <showWarnings>true</showWarnings>                    </configuration>                </plugin>            </plugins>        </pluginManagement>    </build>    <modules>        <module>ssm_dao</module>        <module>ssm_service</module>        <module>ssm_web</module>    </modules></project>

2.spring-mybatis的整合

application.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           xmlns:p="http://www.springframework.org/schema/p"      xmlns:context="http://www.springframework.org/schema/context"       xmlns:tx="http://www.springframework.org/schema/tx"      xmlns:aop="http://www.springframework.org/schema/aop"      xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/aop        http://www.springframework.org/schema/aop/spring-aop.xsd        http://www.springframework.org/schema/tx        http://www.springframework.org/schema/tx/spring-tx.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context.xsd">      <!-- 加载配置文件 -->    <context:property-placeholder location="classpath:db.properties"/>    <!-- C3P0连接池 -->    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="driverClass" value="${JDBC.driver}"></property>        <property name="jdbcUrl" value="${JDBC.url}"></property>        <property name="user" value="${JDBC.username}"></property>        <property name="password" value="${JDBC.password}"></property>    </bean><bean class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource"></property>    </bean>    <!-- 逆向工程 -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.oaec.dao"></property>    </bean><!-- 平台事务管理器 -->    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource"></property>    </bean>    <!-- 事务注入 -->    <tx:advice id="myAdvice" transaction-manager="transactionManager">    </tx:advice>    <!-- aop切入点 -->    <aop:config>        <aop:pointcut expression="execution(* *..*.*ServiceImpl.*(..))" id="myPointCut"/>        <aop:advisor advice-ref="myAdvice" pointcut-ref="myPointCut"/>    </aop:config>    <!-- service Bean -->    <bean id="userService" class="com.oaec.service.impl.UserServiceImpl">    </bean>

用逆向工程自动生成SQL语句,编写配置文件,执行下面方法

配置文件generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration>    <classPathEntry        location="D:\Develop\maven\repository\mysql\mysql-connector-java\5.1.41\mysql-connector-java-5.1.41.jar" />    <context id="context1">        <commentGenerator>            <!-- 是否去除自动生成的注释 true:是 : false:否 -->            <property name="suppressAllComments" value="true" />        </commentGenerator>        <jdbcConnection connectionURL="jdbc:mysql:///mybatis"            driverClass="com.mysql.jdbc.Driver" password="root" userId="root" />        <javaModelGenerator targetPackage="com.oaec.entity"            targetProject="src/main/java">        </javaModelGenerator>        <sqlMapGenerator targetPackage="com.oaec.dao"            targetProject="src/main/java" />        <javaClientGenerator targetPackage="com.oaec.dao"            targetProject="src/main/java" type="XMLMAPPER" />        <table tableName="orders" domainObjectName="Orders"         enableCountByExample="false" enableUpdateByExample="false"         enableDeleteByExample="false" enableSelectByExample="false"         selectByExampleQueryId="false" /></generatorConfiguration>

执行方法

@Test    public void run1() throws Exception{        List<String> warnings = new ArrayList<String>();        boolean overwrite = true;        File configFile = new File("generatorConfig.xml");        ConfigurationParser cp = new ConfigurationParser(warnings);        Configuration config = cp.parseConfiguration(configFile);        DefaultShellCallback callback = new DefaultShellCallback(overwrite);        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);        myBatisGenerator.generate(null);    }

3.springmvc配置文件

<beans xmlns="http://www.springframework.org/schema/beans"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="        http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/mvc        http://www.springframework.org/schema/mvc/spring-mvc.xsd        http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context.xsd">     <!-- controller处理器注解扫描 -->     <context:component-scan base-package="com.oaec.controller"></context:component-scan>     <!-- 自动配置处理器适配器和处理器映射器 -->     <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/jsp/"></property>        <property name="suffix" value=".jsp"></property>     </bean>     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">         <property name="defaultEncoding" value="UTF-8" />        <property name="maxUploadSize">            <value>10240000</value>        </property>    </bean>    <!-- 数据处理 -->    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">        <property name="converters">            <set>                <bean class="com.oaec.controller.converter.MyConverter"></bean>            </set>        </property>    </bean>    <!-- 拦截器 -->    <mvc:interceptors>        <mvc:interceptor>            <mvc:mapping path="/**"/>            <mvc:exclude-mapping path="/login/*"/>            <bean class="com.oaec.interceptor.MyInterceptor"></bean>        </mvc:interceptor>    </mvc:interceptors>    </beans>

controller类通过注解的方式来处理请求

/** *  @Controller定义处理器 *   */@Controllerpublic class UserController {    @Resource(name="userService")    private UserService userService;    public UserService getUserService() {        return userService;    }    public void setUserService(UserService userService) {        this.userService = userService;    }    @RequestMapping("/find.action")    public String findAllUser(Model model){        List<User> userList = userService.findAllUser();        System.out.println(123);        model.addAttribute(userList);        return "success";    }    //JSON对象的传递    @RequestMapping("/sendJson.action")    @ResponseBody    public User sendJson(@RequestBody User user){        System.out.println(user.getId()+"====="+user.getAddress());        return user;    }    //上传组件    @RequestMapping("/uploadFile.action")    public String upload(@RequestParam("file") MultipartFile file) throws Exception{        String fileName=file.getOriginalFilename();        String newFileName=UUID.randomUUID().toString()+fileName;        file.transferTo(new File("D:\\picture\\"+newFileName));        return null;    }    @RequestMapping("/upload2.action")    public String upload2(Date date){        System.out.println(date);        return null;    }}
0 0