Java相关的项目结构(持续更新中)

目录

一、Java项目结构(Java模块)

1、空项目

(1)项目结构图:

(2)初始化文件:

二、Java Web项目结构(Java模块+Web支持)

1、空项目

(1)项目结构图:

(2)初始化文件:

 三、Maven项目结构

1、空项目

(1)项目结构图:

(2)初始化文件:

2、后端:使用quickstart骨架(maven-archetype-quickstart) 

(1)项目结构图:

(2)初始化文件:

 3、前端:使用webapp骨架(maven-archetype-webapp)

(1)项目结构图:

(2)初始化文件:

四、Spring Boot 项目

 1、空项目

(1)项目结构图:

(2)初始化文件:

2、Web开发

(1)项目结构图:

(2)初始化文件:


一、Java项目结构(Java模块)

1、空项目

选择Java项目,直接点击Next。

(1)项目结构图:

(2)初始化文件:

 yootkweb.iml

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

二、Java Web项目结构(Java模块+Web支持)

1、空项目

在Java项目的基础上,为项目添加Web支持。

(1)项目结构图:

 展开web目录,得到的项目结构如下:

展开WEB-INF目录,得到的项目结构如下:

 

(2)初始化文件:

 yootkweb.iml

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="web" name="Web">
      <configuration>
        <descriptors>
          <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
        </descriptors>
        <webroots>
          <root url="file://$MODULE_DIR$/web" relative="/" />
        </webroots>
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

index.jsp

<%--
  Created by IntelliJ IDEA.
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  $END$
  </body>
</html>

 三、Maven项目结构

1、空项目

选择Maven项目,直接点击Next。

(1)项目结构图:

 展开src目录,得到的项目结构如下: 

  展开main目录和test目录,得到的项目结构如下: 

(2)初始化文件:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>first-maven-project</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>

2、后端:使用quickstart骨架(maven-archetype-quickstart) 

选择Maven项目,勾选“Create from archetype”,然后选择“maven-archetype-quickstart”。

(1)项目结构图:

(2)初始化文件:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>first-maven-quickstart</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>first-maven-quickstart</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

App.java

package org.example;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

AppTest.java

package org.example;

import static org.junit.Assert.assertTrue;

import org.junit.Test;

/**
 * Unit test for simple App.
 */
public class AppTest 
{
    /**
     * Rigorous Test :-)
     */
    @Test
    public void shouldAnswerWithTrue()
    {
        assertTrue( true );
    }
}

【备注:pom.xml中,自动引入了junit单元测试框架】

 3、前端:使用webapp骨架(maven-archetype-webapp)

 【一个使用Maven创建的简单的Java Web项目】

选择Maven项目,勾选“Create from archetype”,然后选择“maven-archetype-webapp”。

(1)项目结构图:

(2)初始化文件:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>first-maven-webapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>first-maven-webapp Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>first-maven-webapp</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

index.jsp

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

【备注:pom.xml中,自动引入了junit单元测试框架】

四、Spring Boot 项目

 1、空项目

选择Java项目,直接点击Next。

(1)项目结构图:

(2)初始化文件:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>helloworld</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>helloworld</name>
    <description>helloworld</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

HelloworldApplication.java

package com.example.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloworldApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloworldApplication.class, args);
    }

}

HelloworldApplicationTests.java

package com.example.helloworld;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class HelloworldApplicationTests {

    @Test
    void contextLoads() {
    }

}


2、Web开发

选择Java项目,直接点击Next。

(1)项目结构图:

(2)初始化文件:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>helloworld</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>helloworld</name>
    <description>helloworld</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

HelloworldApplication.java

package com.example.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloworldApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloworldApplication.class, args);
    }

}

HelloworldApplicationTests.java

package com.example.helloworld;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class HelloworldApplicationTests {

    @Test
    void contextLoads() {
    }

}

### 回答1: Visio是一个流程图和示意图的绘制工具,可以帮助我们更好地理解和展示项目的架构设计。对于一个Java项目的架构图,可以使用Visio进行绘制。 一个典型的Java项目架构图包含以下几个主要组件: 1. 用户界面(UI):这是用户与系统交互的界面,包括各种页面、按钮、表格等。Visio可以用来绘制页面的布局和相互关联。可以使用Visio的流程图来表示用户界面和用户之间的交互流程。 2. 控制层(Controller):负责接收用户请求,并处理和调度各种业务逻辑。通常使用Visio的类图来绘制控制层中的各个类和它们之间的关系。 3. 业务逻辑层(Service):负责处理具体的业务逻辑,比如数据处理、业务计算等。可以使用Visio的类图来展示业务逻辑层中的各个类和它们之间的关系。 4. 数据访问层(DAO):负责与数据库进行交互,进行数据的读取和写入操作。可以使用Visio的类图来展示数据访问层中的各个类和它们之间的关系。 5. 数据库:存储项目所需的数据。可以用Visio的数据库图来表示数据库中的表和各个表之间的关系。 除了以上主要组件外,还可以使用Visio的组件图来展示项目中的其他组件,比如第三方库、消息队列等。 通过使用Visio绘制项目的架构图,可以更直观地展示项目的结构和关系,便于项目团队成员之间的沟通和理解。同时,也有助于项目的设计和开发工作的规划和组织。 ### 回答2: Visio是一种流程图和图表设计软件,适用于各种项目,包括Java项目。Java项目架构图是用于表示软件系统组成和关系的图形表示。在Visio中,可以使用各种符号和图形来展示不同组件之间的依赖关系、交互方式和数据流。 通常,Java项目架构图中包含以下几个主要组件: 1. 用户界面层:这一层是与用户交互的界面,包括各种用户界面元素,如窗口、按钮、表格等。可以在Visio中使用适当的符号表示。 2. 应用程序层:这一层是Java项目的核心,包含各种业务逻辑和处理程序。可以使用Visio中的类图符号表示各个类和它们之间的关系。 3. 数据访问层:这一层用于访问和操作数据库或其他数据存储。可以使用Visio中的数据库、表格等符号来表示相关的数据表和操作。 4. 第三方库和框架:一些Java项目会使用第三方库和框架来提供额外的功能和性能。可以使用Visio中的相关符号来表示这些库和框架。 5. 测试和调试工具:在Java项目中,测试和调试是不可或缺的一部分。可以使用Visio中的测试用例、调试器等符号来表示相关的工具和方法。 除了以上主要组件外,还可以使用箭头表示不同组件之间的依赖关系,如实现关系、继承关系等。此外,可以使用不同颜色和文本标签来表示不同的组件类型或功能。 总之,通过使用Visio,我们可以以图形化的方式清晰地展示Java项目的架构图,帮助开发人员和相关人员更好地理解和沟通项目的结构和组成。 ### 回答3: Visio是一种流程图和架构图的绘图工具。Java项目架构图用Visio绘制可以帮助我们更清晰地了解项目的结构和关系。 在Visio中绘制Java项目架构图,我们可以从整体到细节地展示项目的组成部分和模块之间的关系。一般来说,一个Java项目的架构图包括三个主要的层次:展示层、业务逻辑层和数据访问层。 在展示层,我们可以使用Visio中的图形来表示用户界面和用户交互。通过绘制各个界面之间的关系,我们可以清晰地展示项目的页面流程和交互逻辑。 在业务逻辑层,我们可以使用Visio中的图形来表示各个业务模块和它们之间的关系。通过绘制业务逻辑流程图,我们可以更好地理解项目中不同功能模块的执行顺序和调用关系。 在数据访问层,我们可以使用Visio中的图形来表示数据库和数据访问对象。通过绘制数据库结构和数据流程图,我们可以更好地了解项目中数据的存储和处理方式。 此外,我们还可以使用Visio中的符号来表示其他重要的组件,如服务器、网络、缓存等。这些组件的位置和连接关系可以帮助我们更好地了解项目的部署和运行环境。 通过使用Visio绘制Java项目架构图,我们可以提高对项目结构和关系的理解。这不仅对项目的开发者和维护者有帮助,也对团队合作和项目管理有积极的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值