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日

相关文章

  • asp.net 支付宝及时到帐接口使用详解

    ASP.NET支付宝及时到账接口使用详解: 概述 本文主要介绍如何使用ASP.NET集成支付宝及时到账接口,实现在线支付功能。 支付宝是国内常见的第三方支付平台之一,提供了丰富的支付接口。包括但不限于扫码支付、移动支付、Web支付、网页收银台等方式。今天我们要介绍的是ASP.NET集成支付宝即时到账接口。 开始 使用支付宝即时到账接口,需要注册成为支付宝商家…

    Java 2023年6月15日
    00
  • Properties 持久的属性集的实例详解

    Properties 持久的属性集的实例详解 概述 Properties 类继承自 Hashtable 类,主要用于处理属性文件。属性文件中的每一行都是一个键值对,用等号分隔,键和值均不可含有等号。属性文件常被用于存储程序的配置信息。Properties 类提供了将属性文件从磁盘中加载、保存到磁盘中、以及修改属性的功能。 基本用法 Properties 类中…

    Java 2023年6月16日
    00
  • Java中对象的序列化方式克隆详解

    Java中对象的序列化方式克隆详解 什么是对象的序列化? 在Java中,对象的序列化是指将Java对象转换为二进制流的过程。序列化可以将对象存储在文件或者在网络传输中进行传输,也可以通过反序列化将二进制流转换为Java对象。 Java中提供了java.io.Serializable接口,如果一个类实现了这个接口,则该类的对象可以被序列化。 Java中的序列化…

    Java 2023年5月26日
    00
  • jsp中checkbox用法详解

    JSP中Checkbox用法详解 在JSP中通过Checkbox可以实现多选以及默认选中的功能,下面我们来详细讲解Checkbox的用法。 CheckBox的基本语法 Checkbox的基本语法如下: <input type="checkbox" name="checkName" value="chec…

    Java 2023年6月15日
    00
  • 使用springmvc运行流程分析,手写spring框架尝试

    以下是关于“使用SpringMVC运行流程分析,手写Spring框架尝试”的完整攻略,其中包含两个示例。 使用SpringMVC运行流程分析 SpringMVC是一个基于MVC模式的Web框架,它可以帮助我们快速开发Web应用程序。本文将介绍SpringMVC的运行流程。 运行流程 SpringMVC的运行流程可以分为以下几个步骤: 客户端发送请求到Disp…

    Java 2023年5月16日
    00
  • UML类图

    UML类图介绍 概念 UML中的类图(Class Diagram)用于表示类、接口、实例等之间相互的静态关系。虽然名字叫作类图,但是图中并不仅仅只有类。 类结构 继承 该图展示了Parentclass和Childclass两个类之间的关系,其中的空心箭头表明了两者之间的层次关系。箭头由子类指向父类,换言之,这是表示继承(extends)的箭头。ParentC…

    Java 2023年4月22日
    00
  • Spring MVC Controller返回值及异常的统一处理方法

    下面我将为你详细讲解“Spring MVC Controller返回值及异常的统一处理方法”的完整攻略。 一、Controller返回值的处理 在Spring MVC框架中,Controller负责处理客户端的HTTP请求并响应相应的结果给客户端。当客户端请求到达Controller之后,Controller需要根据业务逻辑处理数据,并根据结果返回响应结果给…

    Java 2023年5月27日
    00
  • Java实现选择排序

    下面我会详细讲解Java实现选择排序的完整攻略,过程中包含以下几点内容: 选择排序算法的基本介绍 选择排序算法的实现过程 选择排序算法的时间复杂度分析 两个Java示例说明选择排序的实现过程 1. 选择排序算法的基本介绍 选择排序算法(Selection Sort)是一种简单的排序算法,基本思路是从未排序序列中选出最小(或最大)的元素,将其放置到已排序序列的…

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