CleanArchitecture-Template 使用教程
1. 项目的目录结构及介绍
CleanArchitecture-Template/
├── src/
│ ├── Application/
│ ├── Domain/
│ ├── Infrastructure/
│ ├── WebApi/
│ └── ...
├── tests/
│ ├── Application.Tests/
│ ├── Domain.Tests/
│ ├── Infrastructure.Tests/
│ └── ...
├── .gitignore
├── .editorconfig
├── README.md
├── CleanArchitecture-Template.sln
└── ...
目录结构介绍
- src/: 项目的主要源代码目录。
- Application/: 包含应用层的代码,如服务、DTO、接口等。
- Domain/: 包含领域模型和领域逻辑。
- Infrastructure/: 包含基础设施代码,如数据库访问、外部服务集成等。
- WebApi/: 包含Web API的控制器和相关配置。
- tests/: 包含项目的单元测试和集成测试。
- Application.Tests/: 应用层的测试代码。
- Domain.Tests/: 领域层的测试代码。
- Infrastructure.Tests/: 基础设施层的测试代码。
- .gitignore: Git忽略文件配置。
- .editorconfig: 编辑器配置文件。
- README.md: 项目说明文档。
- CleanArchitecture-Template.sln: 解决方案文件。
2. 项目的启动文件介绍
在 src/WebApi/
目录下,主要的启动文件是 Program.cs
和 Startup.cs
。
Program.cs
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
namespace WebApi
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace WebApi
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
// 添加其他服务配置
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
3. 项目的配置文件介绍
主要的配置文件是 appsettings.json
,位于 src/WebApi/
目录下。
appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "Server=.;Database=CleanArchitectureDb;Trusted_Connection=True;"
},
"Jwt": {
"Key": "Your-Secret-Key",
"Issuer": "Your-Issuer",
"Audience": "Your-Audience"
}
}
配置文件介绍
- Logging: 日志配置,定义不同来源的日志级别。
- AllowedHosts: 允许访问的主机。
- ConnectionStrings: 数据库连接字符串。
- Jwt: JWT认证配置,包括密钥、发行者和受众。
以上是 CleanArchitecture-Template
项目的基本使用教程,涵盖了项目的目录结构、
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考