SSM(ssm)心得体会之二构建简单实例

今天我们用eclipse创建maven工程实现一个简单的ssm样例!

第一步:

新建maven项目

(注意在这一步我们选择 maven-archetype-webapp)

创建完后你会发现项目报错,那是因为缺少servlet-api编译器无法识别jsp文件

第二步:添加依赖

<!-- 第一步:添加javaee-api,他包含了servlet-api -->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>8.0</version>
            <scope>provided</scope>
        </dependency>

添加完后项目就不会报错了

第三步:完善maven的目录结构

右键点击项目  Build Path-->Configure Build Path你会发现eclipse创建的maven工程目录不全。

在naigator文件形式目录下完善目录结构

第四步:修改jre版本

创建好的项目默认jre是1.5

通过配置pom文件修改我们的jre版本

<plugins>
            <plugin>
                <!-- 制定java jre版本 -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

 </plugins>

(注意:我的是1.8版,您需要改成自己的版本)

添加好后更新maven项目

这个时候就将版本改成自己的了(这里项目上报错是eclipse自身的bug,好多次都是这样,不影响运行)

之前找遍了整个项目属性,发现是这里出错,之前的改好这个后就好了。没找到原因也没关系不影响项目。

第五步:添加ssm必须的依赖(在这个依赖上对于初学者而言,只要先复制这份正确的即可,后续再仔细研究。)

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.20.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.20.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.20.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.20.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.3</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.3</version>
        </dependency>


        <!-- Mybatis,jdbc-mysql,dbcp -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.5.0</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.10.0</version>
        </dependency>
 

添加好依赖后更新maven项目查看一下jar包是否下载成功

第六步:在src/main/resouse 中创建 applicationContext.xml、mybatis-config.xml、mysql-jdbc.properties三个配置文件

第七步:编辑mysql-jdbc.properties配置文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://(你的ip地址):3306/hlrd?useSSL=false&useUnicode=true&characterEncoding=utf8
username=root
password=(你的数据库连接密码)
initSize=50(数据库的初始化连接数)
maxActive=10 (数据库的最大连接数)
maxIdle=10(最大等待连接中的数量,设 0 为没有限制 )
maxWait=10000(连接最长等待时间)

(注意 数据库参数以  key=value形式 不要留空格)

第八步:配置mybatis属性

(具体参数意义可参考mybatis官方解释,在这就不细说了)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
  
<configuration>
    <settings>
      <setting name="cacheEnabled" value="true"/>
      <setting name="lazyLoadingEnabled" value="true"/>
      <setting name="multipleResultSetsEnabled" value="true"/>
      <setting name="useColumnLabel" value="true"/>
      <setting name="useGeneratedKeys" value="false"/>
      <setting name="autoMappingBehavior" value="PARTIAL"/>
      <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
      <setting name="defaultExecutorType" value="SIMPLE"/>
      <setting name="defaultStatementTimeout" value="25"/>
      <setting name="defaultFetchSize" value="100"/>
      <setting name="safeRowBoundsEnabled" value="false"/>
      <setting name="mapUnderscoreToCamelCase" value="false"/>
      <setting name="localCacheScope" value="SESSION"/>
      <setting name="jdbcTypeForNull" value="OTHER"/>
      <setting name="logImpl" value="STDOUT_LOGGING"/>
      <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
    </settings>
</configuration>

第九步:配置spring属性

(注意你的包名,如果你得目录结构和我一样复制即可,不同的话需要适当修改)

<?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:aop="http://www.springframework.org/schema/aop"
    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.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 使用注解驱动 -->
    <mvc:annotation-driven />

    <!-- 扫描所有注解 -->
    <context:component-scan base-package="com.lb.*"></context:component-scan>

    <!-- 设置视图层 -->
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!-- 引入mysql-jdbc.properties文件 -->
    <context:property-placeholder location="classpath:mysql-jdbc.properties" />

    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="${driver}"></property>
        <property name="url" value="${url}"></property>
        <property name="username" value="${username}"></property>
        <property name="password" value="${password}"></property>
        <property name="initialSize" value="${initSize}"></property>
        <property name="maxTotal" value="${maxActive}"></property>
        <property name="maxIdle" value="${maxIdle}"></property>
        <property name="maxWaitMillis" value="${maxWait}"></property>
    </bean>

    <!-- mybatis sqlSessionFactory设置 有数据源、mybatis配置文件、所有mapper文件 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    
        <!-- 说明数据源name和ref为上方配置的数据源id -->
        <property name="dataSource" ref="dataSource"></property>
        
        <!-- 说明本地mybatis配置文件的路径 -->
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>

        <!-- 说明所有mybatis自动生成的mapper.xml文件的路径 -->
        <property name="mapperLocations" value="classpath:com/lb/mapper/*.xml"></property>
    </bean>


    <!-- 说明所有mybatis自动生成的映射接口的位置 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com/lb/dao"></property>
    </bean>

    <!-- 配置事务管理器 -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
</beans>

第十步:配置SpringIoC容器和拦截设置

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <!-- SpringIoC容器配置文件路径 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!-- 配置监听器,用于初始化SpringIoC容器 -->
    <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>SSMdemo1</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> 
            </init-param> -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>SSMdemo1</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>


</web-app>
 

(作者是设置拦截所有xxx.do形式的请求)

第十一步:新建SSMdemo1-servlet.xml(这个配置文件加入spring标签库)

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

第十步:运行项目

如果您的项目没报错,那恭喜您ssm基本的配置已经ok了。

猜你喜欢

转载自blog.csdn.net/qq_34042417/article/details/84061567