教你使用idea搭建ssm详细教程(Spring+Spring Mvc+Mybatis)

以下是使用Idea搭建SSM框架的详细教程,包括Spring、Spring MVC和MyBatis三个框架的整合。

环境准备

在开始之前,需要确保以下环境已经准备好:

  • JDK 1.8或以上版本
  • Maven 3.0或以上版本
  • Tomcat 8.0或以上版本
  • IntelliJ IDEA 2018或以上版本

创建Maven项目

  1. 打开IntelliJ IDEA,选择“Create New Project”。
  2. 在弹出的窗口中选择“Maven”项目类型,并勾选“Create from archetype”选项。
  3. 在下拉列表中选择“maven-archetype-webapp”。
  4. 输入项目的GroupId、ArtifactId和Version等信息,然后点击“Next”。
  5. 在下一步中,选择项目的存储路径和项目名称,然后点击“Finish”按钮。

导入依赖

在pom.xml文件中添加以下依赖:

<dependencies>
  <!-- Spring -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.0.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.2.0.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.0.RELEASE</version>
  </dependency>
  <!-- MyBatis -->
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.4</version>
  </dependency>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.4</version>
  </dependency>
  <!-- 数据库驱动 -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.22</version>
  </dependency>
  <!-- Servlet API -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

配置Spring

在src/main/resources目录下创建一个名为“applicationContext.xml”的Spring配置文件,并添加以下内容:

<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=UTC"/>
  <property name="username" value="root"/>
  <property name="password" value="123456"/>
</bean>

<!-- 配置MyBatis -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  <property name="basePackage" value="com.example.mapper"/>
</bean>

在上面的配置中,我们配置了数据源和MyBatis的SqlSessionFactory。同时,我们还配置了MapperScannerConfigurer来扫描Mapper接口。

配置Spring MVC

在src/main/webapp/WEB-INF目录下创建一个名为“springmvc-servlet.xml”的Spring MVC配置文件,并添加以下内容:

<!-- 配置Spring MVC -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/views/"/>
  <property name="suffix" value=".jsp"/>
</bean>

<!-- 配置扫描Controller -->
<context:component-scan base-package="com.example.controller"/>

在上面的配置中,我们配置了视图解析器和扫描Controller。

配置web.xml

在src/main/webapp/WEB-INF目录下创建一个名为“web.xml”的web配置文件,并添加以下内容:

<!-- 配置DispatcherServlet -->
<servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:springmvc-servlet.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

在上面的配置中,我们配置了DispatcherServlet,并将其映射到根路径。

创建Controller

在src/main/java目录下创建一个名为“com.example.controller”的包,并在其中创建一个名为“UserController”的类。在该类中添加以下内容:

@Controller
@RequestMapping("/user")
public class UserController {
  @Autowired
  private UserService userService;

  @GetMapping("/{id}")
  public String getUser(@PathVariable("id") int id, Model model) {
    User user = userService.getUserById(id);
    model.addAttribute("user", user);
    return "user";
  }
}

在上面的代码中,我们创建了一个名为“UserController”的Controller,并使用@GetMapping注解来处理GET请求。在方法中,我们使用@PathVariable注解来获取路径参数,并使用@Autowired注解来注入UserService。最后,我们将查询到的User对象添加到Model中,并返回“user”视图。

创建Mapper

在src/main/java目录下创建一个名为“com.example.mapper”的包,并在其中创建一个名为“UserMapper”的接口。在该接口中添加以下内容:

public interface UserMapper {
  User getUserById(int id);
}

在上面的代码中,我们创建了一个名为“UserMapper”的Mapper接口,并定义了一个名为“getUserById”的方法。

创建Service

在src/main/java目录下创建一个名为“com.example.service”的包,并在其中创建一个名为“UserService”的接口。在该接口中添加以下内容:

public interface UserService {
  User getUserById(int id);
}

在上面的代码中,我们创建了一个名为“UserService”的Service接口,并定义了一个名为“getUserById”的方法。

在src/main/java目录下创建一个名为“com.example.service.impl”的包,并在其中创建一个名为“UserServiceImpl”的类。在该类中添加以下内容:

@Service
public class UserServiceImpl implements UserService {
  @Autowired
  private UserMapper userMapper;

  @Override
  public User getUserById(int id) {
    return userMapper.getUserById(id);
  }
}

在上面的代码中,我们创建了一个名为“UserServiceImpl”的Service实现类,并使用@Autowired注解来注入UserMapper。在getUserById方法中,我们调用UserMapper的getUserById方法来查询用户信息。

创建JSP视图

在src/main/webapp/WEB-INF/views目录下创建一个名为“user.jsp”的JSP视图,并添加以下内容:

<!DOCTYPE html>
<html>
<head>
  <title>User Info</title>
</head>
<body>
  <h1>User Info</h1>
  <p>ID: ${user.id}</p>
  <p>Name: ${user.name}</p>
  <p>Age: ${user.age}</p>
</body>
</html>

在上面的代码中,我们创建了一个名为“user.jsp”的JSP视图,并使用EL表达式来显示用户信息。

运行项目

在完成以上步骤后,我们可以启动Tomcat服务器,并访问http://localhost:8080/user/1来查看用户信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你使用idea搭建ssm详细教程(Spring+Spring Mvc+Mybatis) - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • Windows下tomcat安装教程

    下面是“Windows下Tomcat安装教程”的完整攻略。 准备工作 下载并安装JDK 访问JDK官网,根据你的Windows系统下载并安装对应版本的JDK。 安装JDK时记得要设置环境变量。 下载Tomcat 访问Tomcat官网,下载并选择合适的Tomcat版本。 下载完成后,解压Tomcat并将其放置在某个目录下。 安装Tomcat 打开命令提示符(W…

    Java 2023年5月19日
    00
  • Java Struts图片上传至指定文件夹并显示图片功能

    下面是详细讲解Java Struts图片上传至指定文件夹并显示图片功能的完整攻略: 1. 概述 本文将介绍如何在Java Struts框架下实现图片上传至指定文件夹并显示图片的功能。在实现过程中,我们将使用commons-fileupload和commons-io等第三方库来实现图片上传,通过Struts的Action来处理上传请求,并将上传的图片保存至指定…

    Java 2023年5月20日
    00
  • mpvue微信小程序开发之实现一个弹幕评论

    mpvue微信小程序开发之实现一个弹幕评论 前言 在 mpvue 中使用一个基于 WebSocket 技术的弹幕评论系统可以增加小程序的用户参与度和互动效果。本文将带领读者一步步实现一个简单的弹幕评论系统。 准备 在开始开发之前,你需要在微信公众平台上注册一个小程序,并在本地搭建 mpvue 开发环境。另外,为了实现弹幕效果,你需要一个服务器来作为 WebS…

    Java 2023年5月23日
    00
  • 浅谈springBean的作用域

    什么是Spring Bean作用域 Spring中的Bean作用域就是指一个Bean在Spring容器中的生命周期,Bean的作用域有很多种,常见的有单例(Singleton)、原型(Prototype)、会话(Session)和请求(Request)等。 Spring Bean作用域分类 Spring Bean作用域主要分为以下几类: Singleton(…

    Java 2023年5月19日
    00
  • Java中判断字符串是否相等的实现

    下面是“Java中判断字符串是否相等的实现”的完整攻略。 一、Java中字符串的比较 Java中字符串比较的基本原理是比较字符串的内容是否相等。由于String类型是一个final类,所以String对象在被创建后就不能再被修改了,因此在Java当中比较两个字符串的时候,不能使用”==”运算符。应该使用equals()方法或equalsIgnoreCase(…

    Java 2023年5月26日
    00
  • Java开发学习之Bean的生命周期详解

    Java开发学习之Bean的生命周期详解 什么是Bean 在Java中,一个Java类如果被添加了特殊的注解,就可以被称为一个Bean,而这个类的实例就是一个实例化的Bean。 Bean是Java语言中一种特殊的类,是一个组件,含有规范的属性和行为,并且可以通过接口来定义。 Bean的生命周期 在Java中,Bean的生命周期从创建、初始化、使用到销毁,可以…

    Java 2023年5月20日
    00
  • Jsp+Servlet实现文件上传下载 文件上传(一)

    “JSP+Servlet实现文件上传下载”,基本上可以分为文件上传和文件下载两个部分。下面详细讲解一下文件上传部分的实现过程。 文件上传实现 1. 文件上传表单页面 首先需要在页面上提供上传文件的表单。代码如下: <form action="upload" method="post" enctype="…

    Java 2023年6月15日
    00
  • jquery分页插件jquery.pagination.js实现无刷新分页

    请看下面的详细解释: 前言 在Web应用中,经常需要使用分页功能来展示数据,这样用户可以通过分页快速地浏览和查询数据。jQuery分页插件jquery.pagination.js是一个非常好用的插件,它可以帮助我们实现无刷新分页功能,提高用户的体验。 安装 我们可以通过在页面中引入jquery.pagination.js插件来使用它: <script …

    Java 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部