idea环境基于maven整合ssm

1.首先创建maven项目
idea环境基于maven整合ssm_第1张图片
选择新建maven项目并勾选Create from archetype并选择webapp进行项目的构建,然后点击next

idea环境基于maven整合ssm_第2张图片
填写项目相关信息:
GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
设置好之后点击next。

idea环境基于maven整合ssm_第3张图片
选择maven,可以选择本地的maven或者使用idea自带的maven进行创建。然后点击next。

idea环境基于maven整合ssm_第4张图片
这里配置项目的名称,直接finish就行。

2.包结构的设置
自己手动创建项目包,创建好后的项目结构如下图所示。
idea环境基于maven整合ssm_第5张图片
这是我们是不能再Java目录下直接创建Java文件的,我们需要将包的属性改为source。如下图所示。点击左上角的file然后点击project Structs然后点击modules将mian下的Java文件夹标记为source,resources文件夹标记为resource。将test下的Java标记为test,resources标记为resource。
idea环境基于maven整合ssm_第6张图片

3.配置文件

3.1 首先配置pom.xml。由于用maven来管理项目,所以相关依赖我们不必再自己手动导入。而是用pom.xml配置相关jar包。下面是简易的pom.xml配置

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.0modelVersion>
  <groupId>com.godwei.ssmframegroupId>
  <artifactId>web-ssmartifactId>
  <packaging>warpackaging>
  <version>1.0-SNAPSHOTversion>
  <name>web-ssm Maven Webappname>
  <url>http://maven.apache.orgurl>


  <properties>
    
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>

    
    <spring.version>4.3.4.RELEASEspring.version>
    <aspectj.version>1.8.9aspectj.version>
    <mybatis.version>3.4.1mybatis.version>
    <mybatis-spring.version>1.3.0mybatis-spring.version>
    <jdbc.version>5.1.35jdbc.version>
    <fastjson.version>1.2.23fastjson.version>
    <log4j.version>2.7log4j.version>
    <servlet.version>3.0-alpha-1servlet.version>
  properties>



  <dependencies>
    
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>3.8.1version>
      <scope>testscope>
    dependency>

    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webmvcartifactId>
      <version>${spring.version}version>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-jdbcartifactId>
      <version>${spring.version}version>
    dependency>
    <dependency>
      <groupId>org.aspectjgroupId>
      <artifactId>aspectjweaverartifactId>
      <version>${aspectj.version}version>
    dependency>


    
    <dependency>
      <groupId>org.mybatisgroupId>
      <artifactId>mybatisartifactId>
      <version>${mybatis.version}version>
    dependency>

    
    <dependency>
      <groupId>org.mybatisgroupId>
      <artifactId>mybatis-springartifactId>
      <version>${mybatis-spring.version}version>
    dependency>

    
    <dependency>
      <groupId>mysqlgroupId>
      <artifactId>mysql-connector-javaartifactId>
      <version>${jdbc.version}version>
    dependency>

    
    <dependency>
      <groupId>com.alibabagroupId>
      <artifactId>fastjsonartifactId>
      <version>${fastjson.version}version>
    dependency>

    
    <dependency>
      <groupId>org.apache.logging.log4jgroupId>
      <artifactId>log4j-coreartifactId>
      <version>${log4j.version}version>
    dependency>

    
    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>servlet-apiartifactId>
      <version>${servlet.version}version>
      <scope>providedscope>
    dependency>
  dependencies>

  <build>
    <finalName>web-ssmfinalName>
  build>

project>

3.2 在resource下新建jdbc.properties文件,配置数据库连接信息

driverClasss=com.mysql.jdbc.Driver  
jdbcUrl=jdbc:mysql://localhost:3306/db_ssm
username=root  
password=root  

#定义初始连接数  
initialSize=0  
#定义最大连接数  
maxActive=20  
#定义最大空闲  
maxIdle=20  
#定义最小空闲  
minIdle=1  
#定义最长等待时间  
maxWait=60000  

2.3 在resources下新建log4j配置文件

log4j.rootLogger=INFO,Console,File  

#控制台日志
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n  

#普通文件日志
log4j.appender.File=org.apache.log4j.RollingFileAppender  
log4j.appender.File.File=logs/ssm.log  
log4j.appender.File.MaxFileSize=10MB  
#输出日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold=ALL  
log4j.appender.File.layout=org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n  

3.4 配置spring-mybatis.xml


<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:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd
                        http://www.springframework.org/schema/tx
                        http://www.springframework.org/schema/tx/spring-tx.xsd">

    
    <context:component-scan base-package="com.godwei.ssmframe"/>

    
    <context:property-placeholder location="classpath:jdbc.properties"/>


    
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${driverClasss}"/>
        <property name="url" value="${jdbcUrl}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    bean>


    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        
        <property name="mapperLocations" value="classpath:mapping/*.xml">property>
    bean>


    
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.godwei.ssmframe.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
    bean>


    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    bean>

    
    <tx:annotation-driven transaction-manager="transactionManager"/>

beans>

3.5 配置springMVC配置文件

spring-webmvc.xml


<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:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-4.0.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

    
    <context:component-scan base-package="com.godwei.ssmframe.controller"/>

    
    <bean id="mappingJacksonHttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8value>
            list>
        property>
    bean>
    
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJacksonHttpMessageConverter"/> 
            list>
        property>
    bean>


    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp"/>
    bean>

beans>

3.6 配置web.xml



<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
  <display-name>Archetype Created Web Applicationdisplay-name>

  <context-param>
    <param-name>contextConfigLocationparam-name>
    <param-value>classpath:spring/spring-mybatis.xmlparam-value>
  context-param>

  <context-param>
    <param-name>log4jConfigLocationparam-name>
    <param-value>classpath:log4j.propertiesparam-value>
  context-param>

  
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
  listener>
  
  <servlet>
    <servlet-name>SpringMVCservlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    <init-param>
      <param-name>contextConfigLocationparam-name>
      <param-value>classpath:spring/spring-webmvc.xmlparam-value>
    init-param>
    <load-on-startup>1load-on-startup>
    <async-supported>trueasync-supported>
  servlet>
  <servlet-mapping>
    <servlet-name>SpringMVCservlet-name>
    <url-pattern>/*url-pattern>
  servlet-mapping>

web-app>

基本的ssm算是搭建起来了,在下一遍博客中我将用这个架构来具体实现增删改查等操作。并详细介绍ssm的请求处理流程,以及各配置文件的具体作用。

你可能感兴趣的:(SSM)