Setting Management: 用于持久化设置Setting值

一、定义SettingManagementOptions,多个设置值提供者,(与Volo.Abp.Settings模块ISettingValueProvider区别??

 public override void ConfigureServices(ServiceConfigurationContext context)
        {
            Configure<SettingManagementOptions>(options =>
            {
                options.Providers.Add<DefaultValueSettingManagementProvider>();
                options.Providers.Add<GlobalSettingManagementProvider>();
                options.Providers.Add<TenantSettingManagementProvider>();
                options.Providers.Add<UserSettingManagementProvider>();
            });
        }

  

1、实体  Setting : Entity<Guid>, IAggregateRoot<Guid>

 名称、值、提供名称(比如默认,全部,租户,用户),ProviderKey(可以租户Id,用户Id等)

2、服务

1、SettingStore,依赖ISettingManagementStore,获取设置值

2、ISettingManagementStore获取,设置,删除设置值,     依赖仓储ISettingRepository,分布式缓存IDistributedCache<SettingCacheItem>

3、ISettingManager,关联IOptions<SettingManagementOptions> options, IServiceProvider serviceProvider, ISettingDefinitionManager settingDefinitionManager,

ISettingEncryptionService settingEncryptionService,遍历List<ISettingManagementProvider>得到

3、UI层

1、配置导航菜单

    Configure<NavigationOptions>(options =>
            {
                options.MenuContributors.Add(new SettingManagementMainMenuContributor());
            });

 2、配置虚拟文件

   Configure<VirtualFileSystemOptions>(options =>
            {
                options.FileSets.AddEmbedded<AbpSettingManagementWebModule>("Volo.Abp.SettingManagement.Web");
            });

  3、配置本地化

  Configure<AbpLocalizationOptions>(options =>
            {
                options.Resources
                    .Add<AbpSettingManagementResource>("en");
            });

            Configure<AbpLocalizationOptions>(options =>
            {
                options.Resources
                    .Get<AbpSettingManagementResource>()
                    .AddVirtualJson("/Localization/Resources/AbpSettingManagement");
            });

  菜单路径:/SettingManagement,Abp的UI模块暂没有完善好

 

三、测试

同一配置名,可根据默认(从settingDefinitionContext里的SettingDefinition设置),全局,不同用户,租户可获取不同的值

转载于:https://www.cnblogs.com/cloudsu/p/11161971.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在IntelliJ IDEA中,Maven是一种用于构建和管理Java项目的强大工具。在Maven的配置中,"User setting file"是指用户级别的Maven配置文件,通常称为`settings.xml`。 "User setting file"的作用是定义Maven全局配置和个人设置。通过编辑这个文件,您可以配置全局的Maven设置,包括仓库地址、代理设置、构建配置等。 下面是一些常见的用途和配置示例: 1. 配置本地仓库路径:您可以在`settings.xml`文件中指定本地Maven仓库的路径。例如: ```xml <localRepository>/path/to/local/repository</localRepository> ``` 2. 配置远程仓库:您可以在`settings.xml`文件中添加或修改Maven远程仓库的配置,以便下载和上传依赖项。例如: ```xml <repositories> <repository> <id>central</id> <url>https://repo.maven.apache.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> ``` 3. 配置代理:如果您需要通过代理服务器访问远程仓库,可以在`settings.xml`文件中添加代理配置。例如: ```xml <proxies> <proxy> <id>proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> </proxy> </proxies> ``` 除了上述示例,`settings.xml`文件还可以配置很多其他的Maven设置,如镜像仓库、构建相关的配置、用户认证等。 请注意,`settings.xml`文件通常位于Maven的安装目录的`conf`文件夹下。在IntelliJ IDEA中,"User setting file"指的是您个人用户目录下的Maven配置文件,通过该设置文件,您可以覆盖全局配置,以适应特定的项目或个人需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值