SSM项目搭建保姆级教程

这篇具有很好参考价值的文章主要介绍了SSM项目搭建保姆级教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、什么是SSM框架

  1. SSM框架是Spring、Spring MVC 和MyBatis框架的整合,是标准的MVC模式
  2. 标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层
  3. 使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎

1.1、持久层

持久层,也就是我们常说的dao层或者mapper层

作用:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此

  • Dao层首先设计的是接口,然后再Spring的配置文件中定义接口的实现类
  • 然后可以在模块中进行接口的调用来进行数据业务的处理(不在关心接口的实现类是哪个类)
  • 数据源的配置以及有关数据库连接的参数都在Spring的配置文件中进行配置

1.2、业务层

业务层,也就是我们常说的service层

作用:Service层主要负责业务模块的逻辑应用设计

  • 先设计接口然后再设计实类,然后再在Spring的配置文件中配置其实现的关联
  • 业务逻辑层的实现具体要调用到自己已经定义好的Dao的接口上,这样就可以在应用中调用Service接口来进行业务处理
  • 建立好Dao之后再建立service层,service层又要在controller层之下,因为既要调用Dao层的接口又要提供接口给controller层,每个模型都有一个service接口,每个接口分别封装各自的业务处理的方法

1.3、表现层

表现层,也就是我们常说的Controller层

作用:负责具体的业务模块流程的控制

  • 配置也同样是在Spring的配置文件里面进行
  • 调用Service层提供的接口来控制业务流程
  • 业务流程的不同会有不同的控制器,在具体的开发中可以将我们的流程进行抽象的归纳,设计出可以重复利用的子单元流程模块

1.4、View层

作用:主要和控制层紧密结合,主要负责前台jsp页面的表示

各层之间的关系:

SSM项目搭建保姆级教程

1.5、SpringMVC执行流程

复杂版:

1、 用户发送请求至前端控制器DispatcherServlet
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器
3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
4、 DispatcherServlet调用HandlerAdapter处理器适配器
5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)
6、 Controller执行完成返回ModelAndView
7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、 ViewReslover解析后返回具体View
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)
11、 DispatcherServlet响应用户

简单版:

1.客户端发送请求到DispacherServlet(分发器)
2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller
3.Controller调用业务逻辑处理后,返回ModelAndView
4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图
5.视图负责将结果显示到客户端

1.6、MyBatis

  • MyBatis是对jdbc的封装,它让数据库底层操作变的透明
  • MyBatis的操作都是围绕一个SqlSessionFactory实例展开的
  • MyBatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射
  • 在每次与数据库交互时,通过SqlSessionFactory拿到一个SqlSession,再执行sql命令
  • 所以,MyBatis的核心是SqlSession

2、SSM实战搭建

搭建思路如下:

SSM项目搭建保姆级教程

2.1、创建工程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

新建完成后工程目录结构如下:

SSM项目搭建保姆级教程

然后替换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_4_0.xsd"
         version="4.0">
</web-app>

2.2、添加依赖

在pom.xml中添加依赖,如下:

<?xml version="1.0" encoding="UTF-8"?>

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.itsource</groupId>
    <artifactId>SSMTest</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>SSMTest Maven Webapp</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <!--spring-webmvc-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.15.RELEASE</version>
        </dependency>

        <!--mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

        <!--mybatis和spring整合的依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.6</version>
        </dependency>

        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>

        <!--druid连接池依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.1</version>
        </dependency>

        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>

        <!--jackson java对象转换为json对象 @ResponseBody-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.13.2.2</version>
        </dependency>

        <!--servlet-api依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>

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

        <!--sql日志-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.30</version>
        </dependency>
    </dependencies>

</project>

2.3、配置spring.xml文件

在main目录下,新建java和resources目录,如下:(如果有就不需要新建了)

SSM项目搭建保姆级教程

然后在resources目录下新建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: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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--包扫描-->
    <context:component-scan base-package="cn.itsource" />

    <!-- 声明视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <!--静态资源放行-->
    <mvc:default-servlet-handler />
    <!-- 声明springmvc注解驱动 -->
    <mvc:annotation-driven />

    <!--数据源配置-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/ssmtest?serverTimezone=Asia/Shanghai"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
        <!--初始化连接数量:根据你项目的并发进行评估-->
        <!--最少连接池的个数-->
        <property name="minIdle" value="5"/>
        <!--初始的连接池的个数-->
        <property name="initialSize" value="5"/>
        <!--最大的连接个数-->
        <property name="maxActive" value="10"/>
        <!--超过的最大连接池个数,等待时间 单位是毫秒-->
        <property name="maxWait" value="3000"/>
    </bean>

    <bean id="sessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--设置数据源-->
        <property name="dataSource" ref="dataSource" />
        <!--设置mybatis映射文件的路径-->
        <property name="mapperLocations" value="classpath:mapper/*.xml" />
    </bean>

    <!--为dao接口生成代理实现类-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.itsource.dao" />
    </bean>

</beans>

2.4、配置web.xml文件

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_4_0.xsd"
         version="4.0">

    <!--servlet-->
    <servlet>
        <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.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- 声明字符集过滤器 -->
    <filter>
        <filter-name>CharacterEncodingFilter</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>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

2.5、log4j.properties

在resources目录下新建log4j.properties文件,内容如下:

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

2.6、准备表

在本地MySQL服务器中新建数据库【ssmtest】,然后新建表【t_user】,建表语句如下:

DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user`  (
  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `username` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `sex` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别',
  `age` int(3) NULL DEFAULT NULL COMMENT '年龄',
  `intro` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '个人简介',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_user_username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;

2.7、实体类

package cn.itsource.entity;

import lombok.Data;

/**
 * <p>用户信息表对应实体类</p>
 *
 * @author 波波老师(微信 : javabobo0513)
 */
@Data
public class User {

    private Long id;
    private String username;
    private String sex;
    private Integer age;
    private String intro;
}

2.8、mapper

在dao包下新建UserMapper类,代码:

package cn.itsource.dao;

import cn.itsource.entity.User;
import java.util.List;

/**
 * <p>UserMapper</p>
 *
 * @author 波波老师(微信 : javabobo0513)
 */
public interface UserMapper {

    //保存用户信息到数据库
    int saveUser(User user);

    //查询数据库中所有用户信息
    List<User> selectAllUser();
}

在resources下的mapper文件夹中新建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="cn.itsource.dao.UserMapper">

    <!-- 使用 insert、update、delete、select 标签编写sql语句 -->

    <!--保存用户信息到数据库-->
    <insert id="saveUser">
        insert into t_user(username, sex, age, intro) values (#{username}, #{sex}, #{age}, #{intro})
    </insert>

    <!--查询所有用户信息-->
    <select id="selectAllUser" resultType="cn.itsource.entity.User">
        select id, username, sex, age, intro from t_user order by id desc
    </select>
</mapper>

2.9、service

在service包下新建UserService类:代码如下:

package cn.itsource.service;

import cn.itsource.entity.User;
import java.util.List;

/**
 * <p>UserService</p>
 *
 * @author 波波老师(微信 : javabobo0513)
 */
public interface UserService {

    //保存用户信息到数据库
    int saveUser(User user);

    //查询数据库中所有用户信息
    List<User> selectAllUser();
}

然后在service包下新建impl包,其下新建UserServiceImpl类,代码如下:

package cn.itsource.service.impl;

import cn.itsource.dao.UserMapper;
import cn.itsource.entity.User;
import cn.itsource.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;

/**
 * <p>UserServiceImpl</p>
 *
 * @author 波波老师(微信 : javabobo0513)
 */
@Service
public class UserServiceImpl implements UserService {

    //注入 UserMapper 对象
    @Resource
    private UserMapper userMapper;

    @Override
    public int saveUser(User user) {
        return userMapper.saveUser(user);
    }

    @Override
    public List<User> selectAllUser() {
        return userMapper.selectAllUser();
    }
}

2.10、controller

在controller包下新建UserController类,代码如下:

package cn.itsource.controller;

import cn.itsource.entity.User;
import cn.itsource.service.UserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.List;

/**
 * <p>UserController</p>
 *
 * @author 波波老师(微信 : javabobo0513)
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @Resource
    private UserService userService;

    /**
     * 新增用户
     * @param user
     * @return
     */
    @PostMapping("/saveUser")
    public ModelAndView saveUser(User user){
        ModelAndView mv = new ModelAndView();
        int saveCount = userService.saveUser(user);
        if(saveCount > 0){
            mv.addObject("msg", "新增用户成功");
            mv.setViewName("success");
        }else{
            mv.addObject("msg", "新增用户失败");
            mv.setViewName("fail");
        }
        return mv;
    }

    /**
     * 查询所有用户信息
     * @param user
     * @return
     */
    @GetMapping("/selectAllUser")
    public List<User> selectAllUser(User user){
        List<User> userList = userService.selectAllUser();
        return userList;
    }
}

2.11、前端页面

1、index.html

首先改造webapp目录下的index.html文件,内容如下:

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%
    String basePath=request.getScheme() + "://" + request.getServerName()
            + ":" + request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head>
    <base href="<%=basePath%>">
    <title>SSM实战案例</title>
</head>
<body>
<div align="center">
    <p>SSM整合小案例</p>
    <table>
        <tr>
            <td><a href="addUser.jsp">注册用户</a></td>
            <td><br/></td>
            <td><a href="queryUser.jsp">查询用户</a></td>
        </tr>
    </table>
</div>
</body>
</html>

效果如下:

SSM项目搭建保姆级教程

2、addUser.jsp

在webapp目录下新建文件addUser.jsp,用来新增用户,代码如下:

<%@ page contentType="text/html;charset=utf-8" language="java"%>
<html>
<head>
    <title>注册用户</title>
</head>
<body>
<div align="center">
    <p>注册用户</p>
    <form action="user/saveUser" method="post">
        <table>
            <tr>
                <td>姓名:</td>
                <td><input type="text" name="username"></td>
            </tr>
            <tr>
                <td>年龄:</td>
                <td><input type="text" name="age"></td>
            </tr>
            <tr>
                <td>性别:</td>
                <td><input type="text" name="sex"></td>
            </tr>
            <tr>
                <td>简介:</td>
                <td><input type="text" name="intro"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="注册"></td>
            </tr>
        </table>
    </form>
</div>
</body>
</html>

效果如下:

SSM项目搭建保姆级教程

3、queryUser.jsp

在webapp目录下新建文件queryUser.jsp,用来查询所有用户,代码如下:

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%
    String basePath=request.getScheme() + "://" + request.getServerName()
            + ":" + request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head>
    <base href="<%=basePath%>">
    <title>查询学生</title>
    <%--<script type="text/javascript" src="js/jquery-3.6.0.js"></script>--%>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#myBtn").on("click",function () {
                $.ajax({
                    url: "user/selectAllUser",
                    dataType: "json",
                    success: function (resp) {
                        $("#userInfo").empty();
                        $.each(resp, function (i,n) {
                            $("#userInfo").append("<tr><td>" + n.id + "</td>" +
                                "<td>" + n.username + "</td>" +
                                "<td>" + n.age + "</td>" +
                                "<td>" + n.sex + "</td>" +
                                "<td>" + n.intro + "</td></tr>");
                        })
                    }
                })
            })
        })
    </script>
    <style>
        .tdStyle{
            width: 100px;
        }
    </style>
</head>
<body>
<div align="center">
    <p>用户列表 <button id="myBtn">获取用户信息</button></p>
    <table>
        <thead>
        <tr>
            <td class='tdStyle'>id</td>
            <td class='tdStyle'>姓名</td>
            <td class='tdStyle'>年龄</td>
            <td class='tdStyle'>性别</td>
            <td class='tdStyle'>简介</td>
        </tr>
        </thead>
        <tbody id="userInfo">
        </tbody>
    </table>
</div>
</body>
</html>

效果如下:

SSM项目搭建保姆级教程

4、success.jsp和fail.jsp

在webapp - WEB-INF目录下新建success.jsp和fail.jsp文件,内容分别如下:

success.jsp:

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>success</title>
</head>
<body>
<h3>结果:${msg}</h3>
</body>
</html>

效果:

SSM项目搭建保姆级教程

fail.jsp:

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>fail</title>
</head>
<body>
<h3>结果:${msg}</h3>
</body>
</html>

2.12、项目结构

目前项目结构如下:

SSM项目搭建保姆级教程

2.13、部署

1、tomcat准备

本地部署到tomcat,首先需要你本地有tomcat服务器,下载地址:

链接:https://pan.baidu.com/s/1VpRboSME8R64yhXE4MwxiA

提取码:nr43

下载下来后,直接解压即可,如下:

SSM项目搭建保姆级教程

我这里使用的tomcat版本是:8.5.75

2、IDEA配置Tomcat

按照下面步骤一步一步做就可以在IDEA中配置好tomcat了

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

然后开始部署:

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

然后:

SSM项目搭建保姆级教程

就成这样了:

SSM项目搭建保姆级教程

3、运行

SSM项目搭建保姆级教程

SSM项目搭建保姆级教程

启动成功后,会自动打开页面,如下:

SSM项目搭建保姆级教程

到此,我们的SSM项目就部署完毕,可以正常使用了

4、Tomcat乱码问题

上面我们可以看到,Tomcat启动后,控制台打印的日志出现了乱码,按照下面方式做即可

打开tomcat安装目录下conf下的logging.properties文件:

SSM项目搭建保姆级教程

将该配置文件中的UTF-8全部改成GBK

然后再重启一下Tomcat,就会发现已经没有乱码了:

SSM项目搭建保姆级教程

如果按照上面设置后还没有好的话,就继续设置:

查看下IDEA的字集是不是UTF-8,确认一下,不是的话,改成UTF-8:

SSM项目搭建保姆级教程

打开IDEA的安装目录下的bin目录,打开里面的idea64.exe.vmoptions文件:

SSM项目搭建保姆级教程

添加内容:文章来源地址https://www.toymoban.com/news/detail-414314.html

-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8

到了这里,关于SSM项目搭建保姆级教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSM(Spring+SpringMVC+MyBatis)框架集成

    进行SSM(Spring+SpringMVC+MyBatis)集成的主要原因是为了提高开发效率和代码可维护性。SSM是一套非常流行的Java Web开发框架,它集成了Spring框架、SpringMVC框架和MyBatis框架,各自发挥优势,形成了一个完整的开发框架。 首先,使用Spring框架可以实现组件的解耦和依赖注入,通过配

    2024年02月08日
    浏览(48)
  • SSM框架和Spring Boot+Mybatis框架的性能比较?

    SSM框架和Spring Boot+Mybatis框架的性能比较,没有一个绝对的答案,因为它们的性能受到很多因素的影响,例如项目的规模、复杂度、需求、技术栈、团队水平、测试环境、测试方法等。因此,我们不能简单地说哪个框架的性能更好,而是需要根据具体的场景和目标来进行评估和

    2024年02月11日
    浏览(39)
  • SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!

    (1) 创建工程 创建一个Maven的web工程 pom.xml添加SSM需要的依赖jar包 编写Web项目的入口配置类,实现 AbstractAnnotationConfigDispatcherServletInitializer 重写以下方法。 getRootConfigClasses() :返回Spring的配置类-需要 SpringConfig 配置类。 getServletConfigClasses() :返回SpringMVC的配置类-需要 SpringMvc

    2024年01月17日
    浏览(45)
  • SSM vs Spring Boot+Mybatis:哪个框架更适合你?

    SSM框架是指Spring+Spring MVC+Mybatis三个框架的组合,它是一个传统的Java Web开发框架,可以实现Web层、业务层和持久层的分离和整合。 SSM框架的优点有: 结构清晰,分层明确,符合MVC模式。 Spring MVC是一个轻量级的Web层框架,可以接收用户请求,调用业务逻辑层,处理模型数据,

    2024年02月11日
    浏览(43)
  • SSM(Spring,SpringMVC,MyBatis)整合项目

    2024年01月18日
    浏览(49)
  • Spring 整合 Mybatis -- Spring入门保姆级教程(四)

    为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。 (博客的参考源码可以在我主页的资源里找到,如果在学习的

    2024年02月05日
    浏览(37)
  • (第六天)初识Spring框架-SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录

    ​ 昨天我们已经把Mybatis框架的基本知识全部学完,内容有Mybatis是一个半自动化的持久层ORM框架,深入学习编写动态SQL,Mybatis的关联映射,一对一、一对多、多对多、Mybatis的缓存机制,一二级缓存的开启和设置,缓存命中率、如何使用idea链接数据库自动生成pojo类等。我们学

    2024年02月10日
    浏览(52)
  • 【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和优缺点的略微讲解

    🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:C++STL,感兴趣的小伙伴可以看看。 🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​ ⛱️万物从心起,心动则万物动🏄

    2024年02月10日
    浏览(39)
  • Spring 整合 Mybatis -- Spring快速入门保姆级教程(四)

    为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。 (博客的参考源码可以在我主页的资源里找到,如果在学习的

    2024年02月07日
    浏览(50)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第一天)Mybatis的学习

    一、当前的主流框架介绍(这就是后期我会发出来的框架学习) Spring框架 ​ Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的 ,其主要优势之一就是分层架构。 Spring提供了更完善的开发环境,可以为POJO(Plain Ordinary Java Object,普通Java对象 )对象提供企业级

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包