我正在做一个Spring Boot项目,并遵循洋葱体系结构,其中每个组件都是不同的包。我的构建工具是gradle。
https://www.codeguru.com/csharp/understanding-onion-architecture/
示例:根据Onion Architecture,我有名为controller, infrastructure, application, domain和core的包。
我的问题是:我想禁止从"基础设施"导入。在"域"中封装包和失败的自动构建。在Java或Gradle中是否有办法实现这一点?
我认为你应该看看ArchUnit https://www.archunit.org/,它允许你在单元测试形式中实现这种约束,然后你可以将它挂钩到你的构建/CI中,以阻止违反规则的更改。