我正在使用具有多个项目和插件的客户端Java应用程序。它们的设计非常脆弱,因为在这些分区中共享任何信息都涉及一些God类,这些类实例化并注册了实现特定接口的类。这些接口未经检查就激增,并且通常包含任何客户端都不需要的合同方法。 为了使所有事物脱钩,我提出了一些交换所对象,它们处理“设置”和“事件”。任何类都可以请求设置,并通过枚举指定设置的类型和期望值的类型。任何类都可以注册一个设置源,该实现源实现一个接口,该接口定义了如何获取该设置(例如,通过检查某个类中的某个变量来确定网络是否可用),但是更常见的是,我可以将某…

2020年10月2日 0条评论 42点热度 阅读全文

我可以使用@RestController启用/禁用整个@ConditionalOnProperty,例如: @RestController @ConditionalOnProperty(name = "com.example.api.controller.decision.DecisionController.enabled", havingValue = "true") @RequestMapping("/v1.0/decisions") public class DecisionController { } 以…

2020年8月28日 0条评论 40点热度 阅读全文

我想保存一个标志来识别我的应用程序是第一次运行还是没有运行。对于这个简单的工作,我不想创建数据库。 有一个简单的选择可以做到这一点吗?我只想保存和阅读一些信息。 解决方案如下: 使用SharedPreferences。 SharedPreferences preferences = getSharedPreferences("prefName", MODE_PRIVATE); SharedPreferences.Editor edit= preferences.edit(); edit.putBoolean("is…

2019年10月5日 0条评论 26点热度 阅读全文

给定带有@RestController的“标准” Spring 启动应用程序,例如 @RestController @RequestMapping(value = "foo", produces = "application/json;charset=UTF-8") public class MyController { @RequestMapping(value = "bar") public ResponseEntity<String> bar( return new ResponseEntity&…

2019年7月22日 0条评论 36点热度 阅读全文