教你使用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日

相关文章

  • SpringBoot集成Spring Data JPA及读写分离

    Spring Boot集成Spring Data JPA及读写分离 Spring Data JPA是Spring社区的一个子项目,它简化了JPA的重复性代码,使得与JPA的交互更加便捷。如果我们想要在Spring Boot项目中使用JPA,那么我们可以使用Spring Data JPA轻松实现该功能。另外,当我们需要将读写操作分离到不同的数据库中,我们可以使…

    Java 2023年5月20日
    00
  • Java二维数组实战案例

    关于“Java二维数组实战案例”的完整攻略,我将从以下三个方面进行详细讲解: 二维数组的基本概念和定义方法 Java二维数组的实战案例 示例说明 1.二维数组的基本概念和定义方法 二维数组是指在数组中每个元素也是一个数组的情况,二维数组通常可以看做是一个表格,最常见的就是二维数组的整体表示法。下面是一个基本的Java二维数组定义: //定义一个3行4列的整型…

    Java 2023年5月26日
    00
  • Spring 使用注解方式进行事务管理配置方式

    Spring 使用注解方式进行事务管理的配置方式主要是通过在类或方法上添加@Transactional注解来进行配置。下面是完整的配置流程: 引入相关依赖 Spring 支持多种事务管理方式,而使用注解方式进行事务管理需要引入如下依赖: <!– Spring JDBC –> <dependency> <groupId>…

    Java 2023年5月20日
    00
  • 四个实例超详细讲解Java 贪心和枚举的特点与使用

    四个实例超详细讲解Java 贪心和枚举的特点与使用 一、贪心算法 1. 特点 贪心算法是一种近似算法,它通过每一步的局部最优选择来达到全局最优解。贪心算法具有以下特点: 贪心选择性质:采用当前最优的选择,在局部达到最优解。 子问题最优性质:当前问题可以分解成多个子问题,每个子问题可以独立的求解,每个子问题的最优解包含在全局最优解中。 贪心策略:贪心算法强调局…

    Java 2023年5月19日
    00
  • eclipse的web项目实现Javaweb购物车的方法

    Eclipse实现Java Web购物车功能攻略 1. 创建Maven Web Project 首先,在Eclipse中创建一个Maven Web Project。在创建时,需要选择以下选项:- 勾选“Create a simple project(创建简单项目)”- 选择“war”项目打包方式 在创建好的项目中,需要在pom.xml文件中添加以下依赖: &…

    Java 2023年6月15日
    00
  • 举例讲解Java的Spring框架中AOP程序设计方式的使用

    举例讲解Java的Spring框架中AOP程序设计方式的使用的完整攻略如下: 什么是AOP 在开始讲解AOP程序设计方式的使用之前,先介绍一下AOP的概念。 AOP(Aspect Oriented Programming)即面向切面编程,是OOP(Object Oriented Programming)编程模式的补充和完善,它以一种新的思想来分离系统中的各个…

    Java 2023年5月31日
    00
  • Springboot实现密码的加密解密

    Spring Boot提供了多种加密方式,其中最常用的是使用BCrypt的加密方式。下面介绍Spring Boot如何使用BCrypt实现对密码的加密和解密。 1. 添加依赖 首先,需要在pom.xml文件中添加spring-boot-starter-security依赖。 <dependency> <groupId>org.spri…

    Java 2023年5月19日
    00
  • Apache结合Tomcat实现动静分离的方法

    Apache与Tomcat的动静分离 动静分离是指将动态请求和静态请求分别交给不同的服务器来处理,可以提高服务器的效率和性能。在Java Web开发中,常见的动态请求处理方式是通过Tomcat来处理,而静态请求则可以通过Apache服务器来处理。本文将详细讲解如何结合Apache和Tomcat来实现动静分离。 1. 安装Apache和Tomcat 首先需要安…

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