maven搭建java ee项目图文教程

下面是详细的“maven搭建java ee项目图文教程”的完整攻略。

1. 什么是Maven

Maven是一个Java构建工具,它可以通过简单的声明性配置文件来管理项目的构建、依赖关系和文档记录。

使用Maven可以大大简化Java项目的构建和管理过程,Maven还通过中央仓库来帮助下载大量的第三方依赖包,增加了代码重用的可能性,并且对Java生态系统提供了标准构建方法。

2. 安装Maven

首先需要下载Maven,可以在Maven的官方网站上进行下载。

下载后按照官方说明进行解压和安装即可。

3. 创建Maven项目

确定了我们要创建的项目后,可以在默认项目路径下打开控制台,输入以下命令来创建Maven项目:

mvn archetype:generate -DgroupId=com.yourgroup -DartifactId=yourproject -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

该命令将创建一个基础的Web项目骨架。

其中-DgroupId代表你的组织ID,-DartifactId代表你的项目ID,-DarchetypeArtifactId代表项目模板,-DinteractiveMode代表是否开启交互模式。

创建成功后会在项目路径下生成一个以artifactId命名的文件夹,包含了各种初始文件和目录。

4. 导入开发工具

接下来,需要将刚才创建的项目导入到开发工具中。

例如在Eclipse中,选择File->Import->Maven->Existing Maven Projects,选择刚才创建的项目文件夹,然后点击Finish即可完成导入。

5. 配置依赖关系

在创建项目时,Maven已经自动生成了pom.xml文件,该文件是项目的核心配置文件,其中描述了项目的依赖关系。

在字段<dependencies>中添加所需要的额外依赖,例如:

<dependencies>
  <!--Junit单元测试-->
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <!--Spring框架核心-->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.0.5.RELEASE</version>
  </dependency>
  <!--Spring MVC框架-->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.0.5.RELEASE</version>
  </dependency>
  <!--Servlet API标准库-->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>
  <!--JSP API标准库-->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

该配置依赖关系可以从Maven中央仓库进行下载。

6. 构建项目

在开发过程中,可以通过以下命令来构建项目:

mvn clean package

该命令会清除项目的目录,重新构建项目,并打包成可发布的war文件。

7. 部署项目

最后,将之前构建的war文件部署到Tomcat或者其他Web服务器上,即可完成项目的部署。

示例一:创建SpringMvc项目

mvn archetype:generate -DgroupId=com.test -DartifactId=testweb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

创建成功后,在pom.xml文件中添加以下依赖:

<!--Spring MVC框架-->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.0.2.RELEASE</version>
</dependency>
<!--Spring ORM框架-->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-orm</artifactId>
  <version>5.0.2.RELEASE</version>
</dependency>
<!--MySQL数据库驱动-->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.46</version>
</dependency>

创建controller类:

package com.test.controller;

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 MVC!";
    return new ModelAndView("hello", "message", message);
  }
}

创建页面hello.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>Hello World</title>
</head>
<body>
  <h1>${message}</h1>
</body>
</html>

最后将项目部署到Tomcat即可访问"http://localhost:8080/testweb/hello"。

示例二:使用MyBatis进行数据库操作的Java EE项目

mvn archetype:generate -DgroupId=com.test -DartifactId=testmybatis -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

创建成功后,在pom.xml文件中添加以下依赖:

<!--MyBatis核心-->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.4.6</version>
</dependency>
<!--MyBatis Spring整合-->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-spring</artifactId>
  <version>1.3.2</version>
</dependency>
<!--MySql数据库驱动-->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.46</version>
</dependency>

连接数据库的配置文件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>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver" />  
        <property name="url" value="jdbc:mysql://localhost:3306/test" />  
        <property name="username" value="root" />  
        <property name="password" value="root" />  
      </dataSource>
    </environment>
  </environments>
</configuration>

Mapper类:

package com.test.dao;

import java.util.List;

import com.test.model.User;

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

  public List<User> getAllUsers();

  public void insertUser(User user);
}

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="com.test.dao.UserMapper">
  <resultMap id="UserResult" type="com.test.model.User">
    <id property="id" column="id" />
    <result property="name" column="name" />
    <result property="age" column="age" />
  </resultMap>

  <select id="getUserById" resultMap="UserResult">
    SELECT * FROM user WHERE id = #{id}
  </select>

  <select id="getAllUsers" resultMap="UserResult">
    SELECT * FROM user
  </select>

  <insert id="insertUser" parameterType="com.test.model.User">
    INSERT INTO user(name, age) values(#{name}, #{age})
  </insert>
</mapper>

Service类:

package com.test.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.test.dao.UserMapper;
import com.test.model.User;

@Service
public class UserService {

  @Autowired
  private UserMapper userMapper;

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

  public List<User> getAllUsers() {
    return userMapper.getAllUsers();
  }

  @Transactional
  public void insertUser(User user) {
    userMapper.insertUser(user);
  }
}

Controller类:

package com.test.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.test.model.User;
import com.test.service.UserService;

@Controller
public class UserController {

  @Autowired
  private UserService userService;

  @RequestMapping("/getUsers")
  public String getAllUsers(Model model) {
    List<User> users = userService.getAllUsers();
    model.addAttribute(users);
    return "usersList";
  }
}

最后将项目部署到Tomcat即可访问"http://localhost:8080/testmybatis/getUsers",查看数据库中当前所有user记录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:maven搭建java ee项目图文教程 - Python技术站

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

相关文章

  • MyBatis批量插入数据的三种方法实例

    MyBatis批量插入数据的三种方法实例 在MyBatis中,批量插入数据的操作可以显著提高数据库的性能。本文将介绍MyBatis中常用的三种批量插入数据的方法。 方法一:使用foreach标签 使用foreach标签可以很方便地实现批量插入数据,具体实现步骤如下: 在mapper文件中编写批量插入数据的SQL语句,其中使用foreach标签循环插入数据。 …

    Java 2023年5月20日
    00
  • 从原理聊JVM(二):从串行收集器到分区收集开创者G1

    作者:京东科技 康志兴 1 前言 随着Java的进化过程,涌现出各种不同的垃圾回收器,从串行执行到并行执行,从高吞吐到低延迟,终极目标就是让开发人员专注于程序的代码书写而无需关注内存管理。 JDK早期出现的垃圾回收器通常单独作用于不同分代,到后期出现的G1开始,才可以进行全区域收集。 关于垃圾回收器的基础知识请翻看前一篇:从原理聊JVM(一):染色标记和垃圾…

    Java 2023年4月24日
    00
  • java中表示一个文件的File类型详解

    当我们在Java中需要处理文件或目录时,通常需要使用File类。File类代表磁盘中的文件或目录的路径名。 File类的创建 可以通过以下两种方法来创建File类: 1.使用路径名字符串或File类对象作为参数创建File对象 File file1 = new File("C:/Users/Desktop/Example.txt"); /…

    Java 2023年5月20日
    00
  • Android实现与Apache Tomcat服务器数据交互(MySql数据库)

    接下来我将详细讲解“Android实现与Apache Tomcat服务器数据交互(MySql数据库)”的完整攻略。 1. 确定需要的框架和工具 在实现Android与Apache Tomcat服务器数据交互(MySql数据库)之前,你需要明确需要的框架和工具。例如: Android Studio:用于开发Android应用程序; Apache Tomcat:…

    Java 2023年5月19日
    00
  • java连接Mysql数据库的工具类

    当我们使用Java语言编写程序操作MySQL数据库时,需要用到连接MySQL数据库的相关工具类。下面,我将详细讲解Java连接MySQL数据库的工具类的完整攻略。 1. 引入相关依赖 我们需要在项目中引入MySQL的Java Connector依赖,可以使用以下Maven依赖: <dependency> <groupId>mysql&…

    Java 2023年5月19日
    00
  • springsecurity中http.permitall与web.ignoring的区别说明

    在Spring Security中,我们可以使用http.permitAll()或者web.ignoring()来配置哪些接口需要放行。这两个方法虽然都可以达到相同的效果,但它们的实现方式有所不同。 http.permitAll() 是Spring Security提供的一个方法,它允许我们定义一组匹配URL的表达式,这些URL可以被所有用户访问。例如: p…

    Java 2023年5月20日
    00
  • 一文了解Java中record和lombok的使用对比

    一文了解Java中record和lombok的使用对比 record 和 Lombok 都是 Java 中提高开发效率的工具。它们的相似点是都可以通过简化代码的方式减少 Java 的样板代码。但它们基于的思想有所不同,record 是 Java 语言的一部分,而 Lombok 是一个库。在这篇文章中,我们将探讨这两种工具的不同之处和适用情况。 Record …

    Java 2023年5月26日
    00
  • java工具类StringUtils使用实例详解

    Java工具类StringUtils使用实例详解 什么是StringUtils StringUtils 是一个Apache Commons Lang库中的工具类,提供一系列处理字符串的静态方法。该类提供了一些我们常用的字符串操作方法,比如字符串为空、字符串不为空或者为null、去除字符串两端的空格等。 StringUtils的导入方式 如需使用StringU…

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