Fork me on GitHub

win10 使用idea 构建一个ssm的模板maven项目

一、创建一个maven项目
 
1.1建立一个module作为web项目
 
File-》New-》project
选择maven,默认jdk,下面的列表什么都不选,next-》输入项目名,和配置模块的坐标,可以在其他自己的module里集成这个模块。
打开pom.xml 粘贴:
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.5</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.6</version>
    </dependency>
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>4.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>4.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.9.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.0</version>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.7</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.4</version>
    </dependency>
    <dependency>
        <groupId>c3p0</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.1.2</version>
    </dependency>
</dependencies>

 

 
1.2.创建webapp文件夹
ctrl+shift+alt+s 或者右键自己的项目找到F4标记的那个【Open Module Setting】点击它。
左侧找到Modules 点击顶上的+按钮,找到【web】打开它。
右侧的Deployment Descriptors 里的 Type和Path下的列表选中
右侧 点击 像 🖊的符号,把路径里的【web】改成【src\main\webapp】
紧跟下面的下拉框选择【3.1】
同样的操作改下面的列表,把路径里的【web】改成【src\main\webapp】
 
1.3创建 war exploded
接着点击 【Create Artifact】
再看到了WEB-INF时,选中它,然后点击紧挨的工具条上的文件夹(带+号)输入lib后按下回车。
找到右侧 Available Elements 把这个module下面的所有jar包加入到lib文件夹下,按住shift从首选到末,再右键,就有个选项:add to lib 类似的。
 
做完这些,就有一个maven项目了,如果看到带蓝色圆形的webapp目录,并且 里面的web-inf下有web.xml 说明这里就成功创建了一个web项目。
 
 
二、把项目部署到tomcat
1.关闭所有的idea子窗体,再主窗体右上角找到蓝色锤子图标,点击右侧的 【Add configuration】
点击+ 按钮 找到【Tomcat Server】-》【local】
2.取个名字,配置启动时的url默认http://localhost:8080/,指定 Http port
3.找到【Deployment】-》右侧 +按钮-》artifact-》选择刚才的war exploded。
点击【applay】再点击【ok】
 
这里如果要测试,可以再webapp下创建一个页面,点击启动按钮 然后自己输入地址访问。
 
三、把web项目集成Spring
 
1.再Resources文件夹下创建 applicationContext.xml
右键 Resources文件夹-》new-》XML Configuration File -》找到spring.xml
如果没有,刷新一下maven:右键-》项目名称-》maven-》Reimport
输入:applicationContext.xml
2.同样的方法创建spring-mvc.xml文件
3.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <!-- 配置加载类路径的配置文件 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!-- 配置监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) -->
    <servlet>
        <servlet-name>dispatacherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--配置初始化参数,创建完DispatcherServlet对象,加载spring-mvc.xml配置文件 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <!-- 服务器启动的时候,让DispatcherServlet对象创建-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatacherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

 

 
4.配置applicationContext.xml
注意加入context命名空间
<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"
       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
"

 

在beans标签里配置
<context:component-scan base-package="com.ll">
    <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.RestController"/>
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
 
四、集成SpringMvc
1.在web-inf下创建pages文件夹。
2.配置spring-mvc.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: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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
">

然后

<!-- 扫描controller的注解,别的不扫描 -->
<context:component-scan base-package="com.ll.controller"></context:component-scan>

<!-- 配置视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/pages/"/>
    <property name="suffix" value=".jsp"/>
</bean>

<!-- 开启对SpringMVC注解的支持 -->
<mvc:annotation-driven/>

 

五、测试一下(以免后面配置多了,出问题,不好找原因)
创建jar包:右键java-》new class-》输入com.ll.controller.UserController 回车
编写控制器的代码,随便返回一个jsp视图,要在pages文件夹下建立同名称的jsp文件。
启动对应配置的tomcat,输入url访问,如果能访问到页面就可以下一步集成Mybaits
六、集成MyBaits
1.在Resources文件夹下创建 mappers文件夹
2.在Resources下新建File jdbc.properties,粘贴下面的内容
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=Learnning
jdbc.username=sa
jdbc.password=111

 

3.创建 com.ll.entity.user类,这时可以根据你数据库的字段来写字段。
4.在applicationContext.xml下粘贴
<context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
<context:component-scan base-package="com.ll">
    <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.RestController"/>
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driver}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="typeAliasesPackage" value="com.ll.entity"/>
    <property name="mapperLocations" value="classpath:mappers/*.xml"/>
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageHelper">
                <property name="properties">
                    <props>
                        <prop key="helperDialect">sqlserver</prop>
                    </props>
                </property>
            </bean>
        </array>
    </property>
</bean>
<!-- 扫描dao接口 接口代理 -->
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.ll.dao"/>
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

 

5.编写userMapper.xml文件
右键mappers->new File-》输入userMapper.xml 粘贴
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ll.dao.UserDao">

    <select id="findUserById" parameterType="String" resultType="User">
        select * from sys_user where id = #{id};
    </select>

</mapper>

 

七、编写测试案例并进行测试
如果没有sqlserver可以网上找一找mysql或者oracle的url配置,该jdbc.properties里的url。
改数据库用户名和密码。
 
主要是在数据库创建 sys_user表,创建Dao层接口 、创建Services层、最后编写controller代码,测试。
 
项目下载:
链接:https://pan.baidu.com/s/1Wj84eQiFAJYUDngrq9cmhA
提取码:wjx3
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V3的分享


posted @ 2021-02-18 21:12  HelloLLLLL  阅读(62)  评论(0编辑  收藏  举报