SSM整合记录

来源:互联网 发布:c 面向对象编程实例 编辑:程序博客网 时间:2024/06/10 23:06

SSM(Spring,Mybatis,SpringMVC)。整合需要的工具,maven,eclispe javaee

1.创建maven项目,编写pom.xml。这里可能会碰到以下问题:

1).创建maven web项目只有resources包,缺少main,test。解决方法:

项目右键——>Bulid Path——>Configure Build Path——>Libraries——>JRE System..——>Edit配置如下,然后确定即可解决问题。

2)JSP报错。解决方法:

还是刚才那里Libraries,然后add Libraries,选择Server Runtime,选择一个服务器,确定之后在Order and Export选上

解决完问题之后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/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>webssm</groupId>  <artifactId>webssm</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>webssm Maven Webapp</name>  <url>http://maven.apache.org</url>    <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><downloadSources>true</downloadSources><spring.version>4.1.4.RELEASE</spring.version><hibernate.version>4.3.8.Final</hibernate.version><jackson.version>2.5.2</jackson.version></properties>      <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency><!-- spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</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-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</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-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency><!-- 使用SpringMVC需配置 --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!-- junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><!--mybatis spring 插件 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.3</version></dependency><!-- log4j --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency><!-- c3p0数据源 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.1</version></dependency><!-- json --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.3.1</version></dependency><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><!-- aop --><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><!-- 关系型数据库整合时需配置 --><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.4</version></dependency><!-- servlet --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.4.1</version></dependency><!-- dom4j --><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>jaxen</groupId><artifactId>jaxen</artifactId><version>1.1.6</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.1</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><!-- fileUpLoad --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.2.2</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.2</version></dependency><!--xml --><dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.8</version></dependency><!-- jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.1.0</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.5</version></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.2</version></dependency><!-- scp --><!-- calcite --><dependency><groupId>org.apache.calcite</groupId><artifactId>calcite-core</artifactId><version>1.7.0</version></dependency><dependency><groupId>org.apache.calcite.avatica</groupId><artifactId>avatica</artifactId><version>1.7.1</version></dependency><dependency><groupId>org.apache.calcite</groupId><artifactId>calcite-linq4j</artifactId><version>1.7.0</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>19.0</version></dependency><dependency><groupId>net.hydromatic</groupId><artifactId>eigenbase-properties</artifactId><version>1.1.5</version></dependency><dependency><groupId>org.codehaus.janino</groupId><artifactId>commons-compiler</artifactId><version>2.7.6</version></dependency><dependency><groupId>org.codehaus.janino</groupId><artifactId>janino</artifactId><version>2.7.6</version></dependency>  </dependencies>  <build>    <finalName>webssm</finalName>  </build></project>
以上文件大家自己取舍,主要是Spring,SpringMVC,Mybatis,C3p0,及数据库驱动

2.配置web.xml

在web.xml中加上

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name></display-name>  <servlet><description>spring mvc servlet</description><servlet-name>spring</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>1</load-on-startup></servlet><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml</param-value></context-param><servlet-mapping><servlet-name>spring</servlet-name><url-pattern>/</url-pattern></servlet-mapping><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</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>/*</url-pattern></filter-mapping><!-- <filter><filter-name>sessionFilter</filter-name><filter-class>com.nsn.filter.LoginFilter</filter-class></filter> <filter-mapping><filter-name>sessionFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>--><listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener><session-config><session-timeout>30</session-timeout></session-config><welcome-file-list><welcome-file>index</welcome-file></welcome-file-list></web-app>
3.配置mybatis。创建spring-mybatis.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: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-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd"><!-- 配置数据源 c3p0 --><bean id="comboPooledDataSourceID" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><property name="driverClass" value="${jdbc.driver}" /><property name="jdbcUrl" value="${jdbc.url}" /><property name="user" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><!-- 请求超时时间 --><property name="checkoutTimeout" value="${jdbc.checkoutTimeout}" /><!-- 每30秒检查所有连接池中的空闲连接。默认值: 0,不检查 --><property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}" /><!-- 连接数据库连接池最大空闲时间 --><property name="maxIdleTime" value="${jdbc.maxIdleTime}" /><!-- 连接池初始化连接数 --><property name="initialPoolSize" value="${jdbc.initialPoolSize}" /><property name="minPoolSize" value="${jdbc.minPoolSize}" /><property name="maxPoolSize" value="${jdbc.maxPoolSize}" /><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。默认值: 5 --><property name="acquireIncrement" value="${jdbc.acquireIncrement}" /></bean><!-- 配置mybatis的SessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">      <property name="dataSource" ref="comboPooledDataSourceID" />      <property name="mapperLocations" value="classpath:/mappings/**/*.xml"/></bean><!-- 自动扫描映射器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="annotationClass" value="org.springframework.stereotype.Repository" /><property name="basePackage" value="com.nsn.dao" /></bean> <!-- 事务配置 --><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="comboPooledDataSourceID"/></bean><!--启用spring注解管理 --><tx:annotation-driven transaction-manager="txManager"proxy-target-class="true" /></beans>
config.properties


jdbc.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://10.201.58.125:1433;DatabaseName=NK_ROE
jdbc.username=
jdbc.password=

#oracle
#jdbc.driver = oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@10.201.58.175:1521:monitor
#jdbc.username=
#jdbc.password=


jdbc.checkoutTimeout=3000
jdbc.idleConnectionTestPeriod=30
jdbc.maxIdleTime=30
jdbc.initialPoolSize=5
jdbc.minPoolSize=5
jdbc.maxPoolSize=20
jdbc.acquireIncrement=5
autoCommitOnClose=false

4.配置SpringMVC,创建spring-mvc.xml。其中注入,静态资源需要自行修改

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc" 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:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd"><!-- 自动扫描@Controller注入为bean --><context:component-scanbase-package="com.nsn" /><!-- 以下为SpringMVC配置 --><mvc:annotation-driven><!-- 返回json数据,@ResponseBody使用 --><mvc:message-converters register-defaults="true"><!-- 将StringHttpMessageConverter的默认编码设为UTF-8 --><bean class="org.springframework.http.converter.StringHttpMessageConverter">    <constructor-arg value="UTF-8" /></bean><beanclass="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value><value>application/json;charset=UTF-8</value></list></property></bean></mvc:message-converters></mvc:annotation-driven><!-- REST中根据URL后缀自动判定Content-Type及相应的View --><bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">    <property name="mediaTypes" >        <map>                 <entry key="xml" value="application/xml"/>                 <entry key="json" value="application/json"/>             </map>    </property>        <property name="ignoreAcceptHeader" value="true"/>        <property name="favorPathExtension" value="true"/></bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">          <property name="defaultEncoding" value="utf-8"></property>           <property name="maxUploadSize" value="104857600"></property>        <property name="maxInMemorySize" value="10485760"></property>   </bean>   <!-- 配置静态资源 --><mvc:resources location="/js/" mapping="/js/**" />    <mvc:resources location="/plugins/" mapping="/plugins/**" />    <mvc:resources location="/view/" mapping="/view/**" /><aop:aspectj-autoproxy proxy-target-class="true" />  </beans>

5.配置spring,创建spring.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:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/aop     http://www.springframework.org/schema/aop/spring-aop-4.1.xsd"><!-- 加载配置文件 --><context:property-placeholder location="classpath:config.properties" /><!-- 扫描service,dao自动注入为bean --><context:component-scanbase-package="com.nsn" /><!--加载数据库配置--><import resource="spring-mybatis.xml" /><!-- 加载视图view --><!-- <import resource="spring-view.xml" /> --><!-- 使用CGLIB技术,动态产生目标对象代理对象 --><aop:aspectj-autoproxy/></beans>

配置完成。记得创建mappings文件夹存放mapper文件。



原创粉丝点击