bakaxl启动器怎么导入整合包_SSM框架整合完整教程

 种一棵树最好的时间是十年前,其次就是现在!

搭建SSM框架

前言 前几篇我的几个系列文章分别介绍了MyBatis、Spring、SpringMVC框架的基本入门以及一些常用知识点,既然框架各有优点,那么我们是否可以将这几个框架进行整合? 下面就开始手把手教你搭建SSM框架,在这之前我们先总结一下这三个框架 基本概念 MyBatis

MyBatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。

Spring Spring是一个开源的重量级的应用开发框架,其目的是用于简化企业级应用程序开发,降低开发者的开发难度

Spring提供的IOC和AOP应用,可以将组建的耦合度降到最低(即解耦),便于系统日后的维护和升级

Spring为系统提供了一个整体的解决方案,开发者可以利用它自身提供的功能外,也可以与第三方框架和技术整合应用,可以自由选择利用哪种技术进行开发

SpringMVC

SpringMVC是Spring框架的一个模块,Spring和SpringMVC无需中间层整合

SpringMVC提供了基于MVC(模型—视图—控制器)架构和用于开发灵活和松耦合的web应用程序的组件

开发环境搭建 创建一个基于maven的web工程
  • 点击File,新建Project项目
84ac8b12f438629288b5cf3be93a6b91.png
  • 选中Maven,勾上Creater from archetype选项,按照图中数字顺序选中后点击Next按钮即可

7c183f1118a4558dfaf02522466f5300.png

  • 依次填写groupid和artifactid后点击next即可

a97d45cb6e3b24059e737e2965a055dc.png

  • 选中提前配置好的maven,点击next

a62ab49f78434d2d45d9287b01fc3d86.png

  • 输入项目名称Spring,点击Finish即可

e2b7c0a7eb8cedf87382296abaef72a1.png

  • 这样就创建好了一个名称为SSM的maven  web项目,结构如下图:

6bce3c0fbbbac00a396400bd19bec5e8.png

          项目创建完成之后没有的java,resources,test包自己创建即可
  • 我们可以看到包创建好之后是灰色的,需要选中相应的文件夹右击Mark Directory as,选中相应的颜色即可

cd5711c77f99f39cccb3252f024c0f77.png

  • 现在项目的结构就变成了如下样子:

fb2a53f9cb3ad38e3f53a741f7eec1a5.png

整合Spring框架

  • 在pom.xml文件中导入所需要的的jar包
<dependency>            <groupId>junitgroupId>            <artifactId>junitartifactId>            <version>4.11version>            <scope>testscope>        dependency>                <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-coreartifactId>            <version>5.1.5.RELEASEversion>        dependency>        <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-contextartifactId>            <version>5.1.5.RELEASEversion>        dependency>                <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-testartifactId>            <version>5.1.5.RELEASEversion>            <scope>testscope>        dependency>                <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-aopartifactId>            <version>5.1.5.RELEASEversion>        dependency>        <dependency>            <groupId>aopalliancegroupId>            <artifactId>aopallianceartifactId>            <version>1.0version>        dependency>        <dependency>            <groupId>org.aspectjgroupId>            <artifactId>aspectjrtartifactId>            <version>1.9.2version>        dependency>        <dependency>            <groupId>org.aspectjgroupId>            <artifactId>aspectjweaverartifactId>            <version>1.9.2version>            <scope>runtimescope>        dependency>                <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-jdbcartifactId>            <version>5.1.5.RELEASEversion>        dependency>                <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-txartifactId>            <version>5.1.5.RELEASEversion>        dependency>        <dependency>            <groupId>org.projectlombokgroupId>            <artifactId>lombokartifactId>            <version>1.18.8version>        dependency>

整合SpringMVC框架
  • 在pom.xml文件中导入所需要的的jar包
       <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-webartifactId>            <version>5.1.5.RELEASEversion>        dependency>        <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-webmvcartifactId>            <version>5.1.5.RELEASEversion>        dependency>

添加SpringMVC框架支持

  • 在项目名SpringMVC上右击选择Add framework support

ed2e918d8cd2ba602b3de704a41447f2.png

  • 按照图中方框中的提示选中后点击ok按钮即可

16b3e72b3ad7ea1899cbb01935967645.png

注意:如果我们在点击Add framework support中找不到Spring,那么有可能项目中已经存在了Spring文件,但不一定是完善的,我们只需要把它删除然后重新添加即可 方法:点击File,选择Project Structure,选择Facets,就会看到有一个Spring,右击它,点删除就行啦,然后再回到上一个步骤重新Add framework support,Spring就会出现啦。

c94b30b45d1595eb54036d82b207637c.png

添加SpringMVC支持后,我们会发现项目目录中多了两个文件,我又单独创建了一个views用来存放映射文件JSP等

123aefa7b4f3336cec660957e712141b.png

配置SpringMVC核心控制器

  • 在web.xml中配置SpringMVC的核心信息
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" 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">        <servlet>        <servlet-name>springMVCservlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>        <init-param>                        <param-name>contextConfigLocationparam-name>            <param-value>/WEB-INF/dispatcher-servlet.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>        <context-param>        <param-name>contextConfigLocationparam-name>        <param-value>/WEB-INF/applicationContext.xmlparam-value>    context-param>    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>    listener>web-app>
  • 配置SpringMVC乱码处理过滤器

    <filter>        <filter-name>CharacterEncodingFilterfilter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>        <init-param>            <param-name>encodingparam-name>                        <param-value>utf-8param-value>        init-param>    filter>    <filter-mapping>        <filter-name>CharacterEncodingFilterfilter-name>        <url-pattern>/*url-pattern>    filter-mapping>
  • 配置dispatcher-servlet.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:mvc="http://www.springframework.org/schema/mvc"       xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/mvc            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd            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">            <mvc:default-servlet-handler/>        <mvc:annotation-driven>mvc:annotation-driven>        <context:component-scan base-package="com.cn.controller">context:component-scan>        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/views/"/>        <property name="suffix" value=".jsp"/>    bean>beans>

测试SpringMVC框架

  • 创建并编写HelloController类

@Controllerpublic class HelloController {     /**     * 这个注解用于:映射请求的资源路径(/hello)和当前方法(hello)的对应关系     * 当浏览器请求 /hello 路径时, 将会访问(执行)当前这个方法      */    @RequestMapping("/hello")    public String hello() {        System.out.println("hello springmvc...");        return "home";    }}
  • 在WEB-INF/views/目录下创建home.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>Titletitle>head><body><h1>hello springmvc~~~h1>body>html>

部署Tomcat和相关环境

  • 在 Run 菜单项下找到 Edit Configurations 

02d6275f36e84cbf524fa6e8be42109d.png

  • 配置Tomcat环境

 2964cfc610c815e0b32cec86eaa9ea68.png

  • 选择好本地的Tomcat并修改好名称

2c73025081598d4d2d0682cdc996356d.png

  • 在Deployment页面下完成以下操作

7715eba3033f9b1c71a023b57740d04a.png

  • 在弹出框中选中SSM:war exploded后点击OK

01e115e2a3ac739bb7f507acfc83de99.png

  • 启动Tomcat服务器,进行测试

71804f293158a4dab17e2985121f13bc.png

成功在浏览器页面上显示出了页面中的数据内容

整合MyBtis框架

在之前的文章中我写过一篇关于MyBatis的快速入门教程,可以参考以下链接: MyBatis框架快速入门第一篇
  • 在pom.xml文件中导入所需要的的jar包

        <dependency>            <groupId>org.mybatisgroupId>            <artifactId>mybatisartifactId>            <version>3.4.4version>        dependency>        <dependency>            <groupId>org.mybatisgroupId>            <artifactId>mybatis-springartifactId>            <version>1.3.2version>        dependency>                <dependency>            <groupId>mysqlgroupId>            <artifactId>mysql-connector-javaartifactId>            <version>8.0.16version>        dependency>
  • 在resources文件包下创建db.properties文件

database.driver=com.mysql.jdbc.Driverdatabase.url=jdbc:mysql://localhost:3306/db1database.username=erpuserdatabase.password=erp1234
之前我们在MyBatis快速入门教程里是在mybatis-config.xml文件中配置MyBatis的核心信息,现在我们要做SSM框架整合,可以将MyBatis的配置交给Spring去处理
  • 配置applicationContext.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:mvc="http://www.springframework.org/schema/mvc"       xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/mvc            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd            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">        <context:property-placeholder location="classpath:jdbc.properties">context:property-placeholder>        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName" value="${db.driverClassName}"/>        <property name="url" value="${db.url}"/>        <property name="username" value="${db.username}"/>        <property name="password" value="${db.password}"/>    bean>        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">                <property name="dataSource" ref="dataSource">property>    bean>        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">                <property name="basePackage" value="com.cn"/>    bean>beans>

测试MyBatis框架

  • 创建Student实体类,并使用lombok注解代替get、set、有参构造和无参构造等方法
@Data@AllArgsConstructor@NoArgsConstructorpublic class Student  {    private String id;    private String name;    private String birth;    private String sex;}
  • 创建StudentMapper接口类,并提供getStudentById方法

package com.cn.dao;import com.cn.pojo.Student;public interface StudentMapper {    Student getStudentById(String id);}
  • 创建StudentMapper.xml文件(实体类的映射文件)

<?xml version="1.0" encoding="utf-8" ?>/span>        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cn.dao.StudentMapper">            <select id="getStudentById" parameterType="string" resultType="com.cn.pojo.Student">        SELECT * from Student where id= #{id};    select>mapper>
  • 创建并编写TestSSM类

/** * 测试SSM开发环境 */@Controllerpublic class TestSSM {    @Autowired    StudentMapper studentMapper;    @RequestMapping("/testSSM")    public void testSSM(){        Student student = studentMapper.getStudentById("01");        System.out.println(student);    }}
  • 输出结果

d335ff0e6f0b4c2660e48bd81912d31c.png

我们看到报异常了,大概意思就是找不到mapper的映射文件,也就是说JAVA在编译的时候把  mapper.xml  文件给漏掉了,解决方案就是在pom.xml文件中添加如下代码即可:
<build>    <resources>      <resource>        <directory>src/main/javadirectory>        <includes>          <include>**/*.propertiesinclude>          <include>**/*.xmlinclude>        includes>        <filtering>truefiltering>      resource>    resources>  build>
  • 再次访问,输出结果

01a4e68f92e6fbc766000a2128d9756b.png

到这里这个简单的ssm框架就算搭建完成了,看起来过程很长,但实际操作起来应该是没有太大难度,细心一点就可以了

这一篇是在之前文章的基础上做了一个框架之间的整合,方便我们以后开发,大家对之前的文章感兴趣可以点击以下链接:

MyBatis框架快速入门第一篇

Spring框架快速入门第一篇

来喽 ! SpringMVC框架第一篇

下一篇我们就要开始学习SpringBoot框架了,其实它不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,spring boot 整合了所有的框架,废话不多说,下一篇咱们就开始吧!

因为本人还是一枚正在路上的菜鸟,难免会有错误之处还望大家及时指正,可以加我微信私聊,如果对您有所帮助,文末别忘了点赞,再看噢~~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值