上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

spring常用语法

guduadmin261月前

etl表达式解析

if (rawValue != null && rawValue.startsWith("#{") && entryValue.endsWith("}")) {

   // assume it's spel

   StandardEvaluationContext context = new StandardEvaluationContext();

   context.setBeanResolver(new BeanFactoryResolver(beanFactory));

   Expression expression = parser.parseExpression(entryValue,

         new TemplateParserContext());

   value = expression.getValue(context);

}

属性绑定
Bindable bindable = Bindable.of(this.configurable.getConfigClass());T t =new Binder(propertySources, null, conversionService)
      .bindOrCreate(configurationPropertyName, bindable, handler);

 ApplicationContext context = SpringApplication.run(Application.class, args);

 

        Binder binder = Binder.get(context.getEnvironment());

绑定简单配置 

  FooProperties foo = binder.bind("com.didispace", Bindable.of(FooProperties.class)).get();

        System.out.println(foo.getFoo());

  

绑定List配置

      List post = binder.bind("com.didispace.post", Bindable.listOf(String.class)).get();

        System.out.println(post);

 

        List posts=binder.bind("com.didispace.posts",Bindable.listOf(PostInfo.class)).get();

        System.out.println(posts);

        // 读取配置       System.out.println(context.getEnvironment().containsProperty("com.didispace.database-platform"));

  System.out.println(context.getEnvironment().containsProperty("com.didispace.databasePlatform"));

配置绑定到Map对象
Map dsMap = binder.bind("demo.dynamic", Bindable.mapOf(String.class, DsConfig.class)).get();
System.out.println("Map Config: " + dsMap);
配置转换处理

  

String decPwd = binder.bind("demo.enc.pwd", Bindable.of(String.class))
        .map(s -> new String(Base64Utils.decodeFromString(s))).get();
System.out.println("解码之后的数据是: " + decPwd);
注册绑定过程回调

String dec = binder.bindOrCreate("demo.enc.pwd", Bindable.of(String.class), new BindHandler() {

    @Override

    public Bindable onStart(ConfigurationPropertyName name, Bindable target, BindContext context) {

        System.out.println("开始绑定: " + name);

        return BindHandler.super.onStart(name, target, context);

    }

    @Override

    public Object onSuccess(ConfigurationPropertyName name, Bindable target, BindContext context, Object result) {

        System.out.println("绑定成功!" + name + " val:" + target.getValue() + " res: " + result);

        return new String(Base64Utils.decodeFromString((String) result));

    }

    @Override

    public Object onCreate(ConfigurationPropertyName name, Bindable target, BindContext context, Object result) {

        System.out.println("创建: " + name + " val:" + target.getValue() + " res: " + result);

        return BindHandler.super.onCreate(name, target, context, result);

    }

    @Override

    public Object onFailure(ConfigurationPropertyName name, Bindable target, BindContext context, Exception error) throws Exception {

        System.out.println("绑定失败! " + name + "  " + error.getMessage());

        return BindHandler.super.onFailure(name, target, context, error);

    }

    @Override

    public void onFinish(ConfigurationPropertyName name, Bindable target, BindContext context, Object result) throws Exception {

        System.out.println("绑定结束: " + name + " val:" + target.getValue() + " res: " + result);

        BindHandler.super.onFinish(name, target, context, result);

    }

});

System.out.println("绑定回调: " + dec);

网友评论

搜索
最新文章
热门文章
热门标签
 
 女人梦到经血预示着什么  合八字婚姻免费  梦见被狗咬住不放