IDEA+Maven创建Spring项目的实现步骤

  1. 创建Maven项目

使用IDEA创建Maven项目,步骤如下:

  • 点击IDEA的File菜单,选择New,然后选择Project;
  • 在弹出的New Project窗口中,选择Maven;
  • 在下一步中,我们需要输入项目的信息,包括 GroupId、ArtifactId、Version、Project name,这些信息都可以任意填写;
  • 最后,点击Finish按钮即可。

  • 导入Spring相关依赖

在pom.xml文件中,添加Spring相关依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>

这里我们添加了Spring的基础依赖以及WebMVC模块。

  1. 创建Spring配置文件

在resources目录下,创建一个新的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"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="helloWorld" class="com.example.HelloWorld">
        <property name="message" value="Hello WORLD!" />
    </bean>
</beans>

这里我们仅创建了一个名为helloWorld的bean,其类为com.example.HelloWorld,并设置了一个名为message的属性。

  1. 创建Controller

在src/main/java目录下,创建一个新的类HelloController,内容如下:

package com.example;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public ModelAndView helloWorld() {
        String message = "Hello World, Spring 5.0!";
        return new ModelAndView("hello", "message", message);
    }
}

这里我们使用了Spring的注解@Controller和@RequestMapping来定义Controller类和请求的URL,返回的视图模板为hello,同时将数据模型中名为message的属性设置为"Hello World, Spring 5.0!"。

  1. 创建视图模板

在src/main/resources/templates目录下,创建一个名为hello.html的文件,内容如下:

<!DOCTYPE html>
<html>
    <head>
        <title>Hello World Example</title>
    </head>
    <body>
        <h1>${message}</h1>
    </body>
</html>

这里我们使用了Thymeleaf模板引擎来呈现数据模型中的message属性。

  1. 运行项目

在IDEA中,右键点击HelloController类,选择Run即可运行项目。在浏览器中访问http://localhost:8080/hello,即可看到页面上显示的"Hello World, Spring 5.0!"。

示例1:初始项目配置

假设我们现在需要创建一个新的Maven项目,其基本信息如下:

  • GroupId: com.example
  • ArtifactId: demo
  • Version: 1.0-SNAPSHOT
  • Project name: SpringDemo

我们可以按照上文中的步骤来创建该项目,然后添加Spring相关依赖,创建配置文件、Controller和视图模板,最后运行项目即可。

示例2:添加MyBatis支持

假设我们现在需要将上文的示例项目添加MyBatis支持,其步骤如下:

  1. 添加MyBatis依赖

在pom.xml文件中,添加MyBatis相关依赖:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.5</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.5</version>
</dependency>

这里我们添加了MyBatis和MyBatis-Spring的依赖。

  1. 创建MyBatis配置文件

在resources目录下,创建一个名为mybatis-config.xml的文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>
    <typeAliases>
        <typeAlias type="com.example.User" alias="User"/>
    </typeAliases>
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

这里我们定义了一些MyBatis的配置信息,包括开启缓存、定义一个别名User、加载一个名为UserMapper.xml的映射文件。

  1. 创建Mapper接口和映射文件

在src/main/java目录下,创建一个名为UserMapper.java的接口,内容如下:

package com.example.mapper;

import com.example.User;

import java.util.List;

public interface UserMapper {
    User getUserById(Long id);

    List<User> getUsers();

    void insert(User user);

    void update(User user);

    void delete(Long id);
}

这里我们定义了一些操作数据库的方法,比如根据ID获取用户、获取所有用户、插入用户、更新用户、删除用户等。

在resources目录下,创建一个名为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.example.mapper.UserMapper">
    <resultMap id="userMap" type="User">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="age" property="age"/>
    </resultMap>

    <select id="getUserById" resultMap="userMap">
        select * from user where id = #{id}
    </select>

    <select id="getUsers" resultMap="userMap">
        select * from user
    </select>

    <insert id="insert" parameterType="User">
        insert into user(name, age) values (#{name}, #{age})
    </insert>

    <update id="update" parameterType="User">
        update user set name=#{name}, age=#{age} where id=#{id}
    </update>

    <delete id="delete" parameterType="Long">
        delete from user where id=#{id}
    </delete>
</mapper>

这里我们定义了与UserMapper接口对应的SQL语句,例如根据ID获取用户、获取所有用户、插入用户、更新用户、删除用户等。

  1. 修改Spring配置文件

在applicationContext.xml文件中,添加以下内容:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/mydatabase" />
    <property name="username" value="root" />
    <property name="password" value="mysql" />
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>

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

这里我们使用了Apache Commons DBCP连接池来管理数据库连接,配置了dataSource bean,并创建了sqlSessionFactory和MapperScannerConfigurer两个bean,用于初始化MyBatis和Mapper接口。

  1. 修改Controller类

在HelloController.java文件中,添加以下代码:

@Autowired
private UserMapper userMapper;

@RequestMapping("/getUser/{id}")
public ModelAndView getUserById(@PathVariable Long id) {
    User user = userMapper.getUserById(id);
    return new ModelAndView("hello", "message", user.getName() + ", " + user.getAge());
}

@RequestMapping("/getUsers")
public ModelAndView getUsers() {
    List<User> users = userMapper.getUsers();
    StringBuilder stringBuilder = new StringBuilder();
    for (User user : users) {
        stringBuilder.append(user.getName()).append(", ").append(user.getAge()).append("<br>");
    }
    return new ModelAndView("hello", "message", stringBuilder.toString());
}

这里我们将UserController中的helloWorld方法改成了getUserById和getUsers方法,分别是根据ID获取用户和获取所有用户信息。

  1. 运行项目

在IDEA中,右键点击HelloController类,选择Run即可运行项目。在浏览器中访问http://localhost:8080/getUser/1 或 http://localhost:8080/getUsers,即可看到页面上显示的用户信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA+Maven创建Spring项目的实现步骤 - Python技术站

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

相关文章

  • 浅析java中常用的定时任务框架-单体

    下面我将详细讲解“浅析java中常用的定时任务框架-单体”的完整攻略: 1. 什么是定时任务框架 在Java开发中,经常需要定期执行一些任务。例如:每隔一段时间就要进行一次数据库备份、定时清理临时文件等。这些任务可以使用定时任务框架来实现。 定时任务框架是一种框架,用于安排在特定时间或间隔时间内执行任务,它可以有效地提高程序的可靠性和效率。 2. Java中…

    Java 2023年5月27日
    00
  • Java中Stream流去除List重复元素的方法

    首先要说明一下,Java中的Stream流是Java8中新增的一种函数式操作流程,主要用来对集合进行函数式操作,它可以对集合进行一些链式操作,比如筛选、分组、排序、去重等。 List去重,在Java8中,可以借助Stream流,具体步骤如下: 使用Stream.builder()来构造一个Stream.Builder对象; 通过builder对象调用add方…

    Java 2023年5月31日
    00
  • 通过实例了解如何在JavaWeb实现文件下载

    让我来为您详细讲解如何在JavaWeb实现文件下载的完整攻略。 通过实例了解如何在JavaWeb实现文件下载 在JavaWeb中实现文件下载有多种方式,下面我们就分别来介绍一下。 方式一:使用Servlet实现文件下载 实现步骤: 1.在web.xml中配置一个Servlet,用于处理文件下载请求 <servlet> <servlet-na…

    Java 2023年5月19日
    00
  • 使用JSP读取客户端信息

    使用JSP读取客户端信息需要用到内置对象request,通过request对象的方法获取到客户端的相关信息。 以下是具体的步骤: 在JSP页面中,使用内置对象request获取客户端信息前,需要获取参数request对象。获取的方式是: <% request = request.getRequest(); %> 获取客户端IP地址 <% S…

    Java 2023年6月15日
    00
  • map实现按value升序排序

    要实现map按 value 升序排序,可以借助 C++ 中的 STL 库中的 sort() 函数来实现。 具体步骤如下: 将map的键值对推入到一个vector中。 通过 sort() 函数对vector中的元素按照关键字升序排序。 将排序后的向量元素重新填充到map中。 以下是详细的代码实现: #include <iostream> #incl…

    Java 2023年5月19日
    00
  • Java 二维数组创建及使用方式

    Java 二维数组是一个数组,数组的每个元素又是一个数组,因此也被称为数组的数组。在Java中,可以使用两种方式来创建二维数组:静态初始化和动态初始化。 静态初始化 静态初始化是在创建数组时直接给数组赋初值,这种方式代码简单,但只能用于初始化固定长度的数组,不能动态添加和删除元素。 示例: int[][] a = {{1,2,3},{4,5,6},{7,8,…

    Java 2023年5月26日
    00
  • Java中关于char类型变量能够输出中文的问题

    Java中的char类型变量能够输出中文,是因为Java使用的是Unicode字符编码标准,其中全球所有的字符都有唯一的码位,包括中文字符。在Java中,char类型变量以16位无符号整数形式存储字符。由于Unicode字符集在编码范围内包含了中文字符,所以Java的char类型变量和String类型能将中文字符完美输出。 在Java中,对于char类型变量…

    Java 2023年5月26日
    00
  • Springboot内外部logback多环境配置详解

    针对“Springboot内外部logback多环境配置详解”这个主题,以下是完整的攻略: 简介 本文主要是介绍如何在Springboot应用中使用logback日志框架,并实现根据不同环境配置不同的日志输出。 前提条件 在开始之前,需要保证你已经: 了解并掌握了Springboot应用开发和使用过程; 能够使用logback进行日志输出; 对logback…

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