---
title: 如何开发单体应用
tags: [快速开始]
sidebar_position: 15
slug: /quick-start/how-to-make-monomer-architecture-app
---
<head>
  <title>盘古开发框架 | 如何开发单体应用 </title>
  <meta name="keywords" content="盘古开发框架 | 如何开发单体应用" />
</head>

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

本文介绍如何基于盘古开发框架开发一个单体分层架构的应用。文中所述仅为搭建一个单体应用的基本框架，增加**配置中心、数据持久化、缓存等能力**请参考**开发指南**的相关章节。

## 背景
软件架构的本质是一种在特定资源背景下折中平衡后追求业务增长的一门艺术。虽然盘古框架的标准姿势是分布式微服务架构开发，但决定技术开发架构选型的因素很多，单体应用依旧有很多应用场景。因此，盘古框架不会把用户绑定到一个固定的开发范式和架构上，而是支持随意组合、自动装配、灵活插拔。既能构建大并发高可用的分布式微服务架构也能搭建小巧的垂直单体分层架构。

## 安装相关盘古模块

<Tabs defaultValue="dependency2">
<TabItem value="parent" label="盘古 Parent">

```jsx
<parent>
	<groupId>com.gitee.pulanos.pangu</groupId>
	<artifactId>pangu-parent</artifactId>
	<version>latest.version.xxx</version>
	<relativePath/>
</parent>
```
</TabItem>
<TabItem value="dependency1" label="基础模块">

```jsx
<dependency>
    <groupId>com.gitee.pulanos.pangu</groupId>
    <artifactId>pangu-spring-boot-starter</artifactId>
</dependency>
```
</TabItem>
<TabItem value="dependency2" label="Web模块">

```jsx
<dependency>
    <groupId>com.gitee.pulanos.pangu</groupId>
    <artifactId>pangu-web-spring-boot-starter</artifactId>
</dependency>
```
</TabItem>
</Tabs>

:::caution 说明
这里仅演示了最简模块组合。如果需要数据持久化、消息队列等功能，请根据开发指南相关章节继续安装相关模块依赖即可。
:::

## 本地配置

> 为便于理解，本文基于本地配置的方式编写。若改为标准的 Nacos 配置中心模式，请参阅：[配置中心](/docs/advanced-guide/nacos-config-center) 章节。

```jsx
spring.application.name=pangu-examples-empty-web
spring.jackson.time-zone=GMT+8

logging.level.root=INFO
logging.level.com.gitee.pulanos.pangu=INFO
```

## 启动入口
```jsx
@SpringBootApplication
public class EmptyWebPanguApplication {
	public static void main(String[] args) {
		PanGuApplicationBuilder.init(EmptyWebPanguApplication.class).run(args);
	}
}
```

## 本文相关范例源码
- [pangu-examples-empty-web](https://gitee.com/pulanos/pangu-framework/tree/master/pangu-examples/pangu-examples-empty-web)：单体分层Web应用范例

## 下一步
继续阅读其它章节获取你想要的答案或通过我们的 [开发者社区](/community) 寻求更多帮助。