首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏EdisonTalk

    Blazor学习之旅(4)数据共享

    关于数据共享 Blazor 包含多种在组件之间共享信息的方法。 (1)可使用组件参数或级联参数将值从父组件发送到子组件。 使用组件参数共享 在父组件和子组件的此层次结构中,可以使用组件参数在它们之间共享信息。在子组件上定义这些参数,然后在父组件中设置其值。 最终效果: 使用AppState模式共享 在不同组件之间共享信息的另一种方法是使用 AppState 模式。 即创建一个定义要存储的属性的类,并将其注册为作用域服务。 最终效果: 小结 本篇,我们了解了数据如何在Blazor中共享。 下一篇,我们学习一下在Blazor中数据绑定的各种花样。 参考资料 Microsoft Docs,《在Blazor应用程序中共享数据》 65号腕,《Blazor中的参数和级联参数》

    93420编辑于 2023-07-21
  • 来自专栏温安适的blog

    Spring如何整合Mybatis,源码不难嘛!

    我一路追踪源码 [8a4b753749159f6fe3927d1f2b896f5eaee.jpg] 终于在ClassPathScanningCandidateComponentProvider的isCandidateComponent 找到了对过滤器的处理 protected boolean isCandidateComponent(MetadataReader metadataReader) throws IOException { 的目录递归搜索接口,将它们注册为MapperFactoryBean SqlSessionFactoryBean 类注释 创建Mybatis的SqiSessionFactory,用于Spring上下文中进行共享 MapperFactoryBean是这一切的答案(MapperFactoryBean:注意看我的名字---Mapper的工厂!!) 注意这个工厂仅仅注入接口不注入实现类 类图找关键方法 [MapperFactoryBean] 看类图,又看到了InitializingBean和FactoryBean!!!

    89700发布于 2019-11-03
  • 来自专栏Java编程技术

    Spring&Mybaits数据库配置解惑

    //3.9 return this.sqlSessionFactoryBuilder.build(configuration); } 如上代码(3.1)创建了一个Spring事务管理工厂 (3.5)解析mapper.xml中/mapper/resultMap标签下内容,然后存放到Configuration对象的resultMaps缓存里面,这里需要提一下,所有的mapper.xml文件共享一个 <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> 其中sqlSessionFactory设置为第4节创建的 代码(5.13)设置session工厂到bean定义。 并且可以制定过滤策略,然后对符合条件的bean定义进行修改以便在bean创建时候生成代理类,最终符合条件的mapper接口都会被转换为MapperFactoryBean,MapperFactoryBean中并且维护了第4节生成的

    76020发布于 2018-09-06
  • 来自专栏∑小熊猫的博客

    Java 设计模式系列(4) —— 工厂模式

    工厂方法模式 工厂模式用于实现逻辑的封装,并通过公共的忌口提供对象的实例化服务,在添加新类时只需要做少量的修改。 1. 静态工厂模式(简单工厂模式) ? 静态工厂属于创建者模式,静态工厂模式的实现需要三个角色 简单工厂:负责创建具体产品产品,工厂类的方法可以被外界直接调用 抽象产品:在 Java 中,抽象产品是由抽象类或者接口担任的,用以让具体产品继承或实现 工厂方法模式 工厂方法模式又称为多态性工厂模式,指定一个创建对象的接口,但由实现这个接口的类来决定实例化哪一个类。 ? 在工厂方法模式中,共涉及到4个角色: 抽象工厂角色:定义产品对象的产生 具体工厂角色:实现了抽象共产,负责具体产品的创建 抽象产品角色:定义具体产品的共性 具体产品角色:具体产品的实例 工厂方法模式示例 抽象工厂工厂方法一样拥有四个对象: 抽象工厂:声明创建抽象产品对象的一个操作接口 具体工厂:实现创建具体产品对象的操作 抽象产品:为一类产品对象声明一个接口 具体产品:定义一个将被相应的具体工厂的创建的产品对象

    37610发布于 2021-01-05
  • 来自专栏漫漫架构路

    Spring源码学习笔记(4)——注解扫描

    Spring源码学习笔记(4)——注解扫描 一. TypeFilter定义如下: public interface TypeFilter { /** * 指定类是否匹配组件扫描的过滤规则 * @param metadataReader 目标类的元数据reader * @param metadataReaderFactory 可以获取其他类元数据reader的工厂 * @return 是否匹配过滤规则 * @throws IOException */ boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory 该方法有两个参数: metadataReader:当前扫描到的目标类的元数据读取器,可以通过该对象获取目标类的信息; metadataReaderFactory:其他类的元数据工厂了,可以获取其他类的信息

    67620发布于 2020-09-03
  • 来自专栏springboot

    Spring源码解析(二):bean容器的创建、注册默认后置处理器、bean定义扫描类

    ); //关闭容器 context.close(); } } AnnotationConfigApplicationContext的构造方法: 1、创建bean工厂 EventListenerMethodProcessor 事件监听后置处理器 internalEventListenerFactory = DefaultEventListenerFactory 事件监听工厂 metadataReader) throws IOException { for (TypeFilter tf : this.excludeFilters) { if (tf.match(metadataReader 4、注册配置类(Config.class) register(componentClasses);将配置类转为BeanDefinition放入bean容器 配置类bean添加到beanDefinitionMap 中,与默认后置处理器存放在一起 三、总结 本篇文章主要讲述刷新上下文前的准备工作 创建bean工厂容器,也就是map对象,以后缓存单例对象 添加常用注册bean和解析注解的后置处理器 创建根据包路径扫描

    73221编辑于 2025-01-21
  • 来自专栏springboot

    SpringBoot源码解析(九):Bean定义接口体系

    Map<String, Object> attributes = new LinkedHashMap<>(); // ...省略AttributeAccessor属性设置获取移除等方法的实现 } 4、 Bean的名称,如果通过工厂Bean创建 @Nullable private String factoryBeanName; // 工厂方法的名称,用于通过静态方法或工厂Bean public ScannedGenericBeanDefinition(MetadataReader metadataReader) { // 校验 metadataReader 不为 null Assert.notNull(metadataReader, "MetadataReader must not be null"); // 从 MetadataReader 获取注解元数据 this.metadata = metadataReader.getAnnotationMetadata(); // 设置 Bean 类的名称 setBeanClassName(this.metadata.getClassName

    39010编辑于 2025-02-04
  • 来自专栏DDD

    spring温习-FactoryBean应用

    FactoryBean FactroyBean创建的Bean是getObjectType()返回的类型,怎么动态指定此remoteServer,需要使用BeanDefinitionBuilder @Slf4j com.jack.remote.service")); List<String> classNames = Arrays.stream(resources).map(resource -> { MetadataReader metadataReader = null; try { metadataReader = metadataReaderFactory.getMetadataReader }); } 三、装配 对于远程service包下的类,就可以直接使用@Autowired来装配 总结 至此FactoryBean已经完结,对于它的作用已经了解:它是一个能生产或修饰对象生成的工厂 Bean,类似于设计模式中的工厂模式和装饰器模式

    87630发布于 2021-03-23
  • 来自专栏源码之路

    逐行阅读Spring5.X源码(六) ClassPathBeanDefinitionScanner扫描器

    Component,构造BeanDefinition对象(实际为ScannedGenericBeanDefinition) 利用BeanDefinitionRegister注册BeanDefinition到bean工厂中 ,BeanDefinitionRegister是spring默认bean工厂DefaultListableBeanFactory的一个接口,用于注册BeanDefinition; 先祭出类继承图: 很好理解,扫描的时候用includeFilters 去过滤时,会找到并处理这4个注解的类。 *meteDataFactory根据Resouce获取到MetadataReader对象 *MetadataReader */ MetadataReader metadataReader = getMetadataReaderFactory().getMetadataReader

    87630发布于 2020-09-04
  • 来自专栏BAT的乌托邦

    Spring元数据Metadata的使用,注解编程之AnnotationMetadata,ClassMetadata、MetadataReaderFactory【享学Spring】

    public String[] getMemberClassNames() { LinkedHashSet<String> memberClassNames = new LinkedHashSet<>(4) MetadataReaderFactory MetadataReader的实现都并未public暴露出来,所以我们若想得到它的实例,就只能通过此工厂。 IOException { return new SimpleMetadataReader(resource, this.resourceLoader.getClassLoader()); } } 此工厂生产的是 此类可认为从没有被Spring内部使用过,暂且可忽略(spring-data工程有用) Factory工厂的实现都是非常简单的,毕竟只是为了生产一个实例而已。 下面我也给出使用案例: 因为MetadataReader的实现类都是包级别的访问权限,所以它的实例只能来自工厂 public static void main(String[] args) throws

    2.4K42编辑于 2022-05-11
  • 来自专栏后端开发笔记

    Spring之IOC底层原理

    TypeFilter 类型:接口 作用:自定义类型过滤器 范例: public class MyTypeFilter implements TypeFilter { public boolean match(MetadataReader mr, MetadataReaderFactory mrf) throws IOException { ClassMetadata cm = metadataReader.getClassMetadata scanner.addExcludeFilter(tf); scanner.scan("com.itheima"); } } @Configuration @ComponentScan("com.itheima") //4. class SpringConfig { } 10.7.bean初始化过程解析 10.7.1.bean初始化过程解析 BeanFactoryPostProcessor 作用:定义了在bean工厂对象创建后 ,bean对象创建前执行的动作,用于对工厂进行创建后业务处理 运行时机:当前操作用于对工厂进行处理,仅运行一次 BeanPostProcessor 作用:定义了所有bean初始化前后进行的统一动作

    40910编辑于 2022-11-18
  • 来自专栏测试开发干货

    数据工厂平台-4:首页vue之初体验

    上节我们最后 已经为首页打造好了vue的前置环境,本节开始正式写一个vue元素了。

    41920编辑于 2022-05-19
  • 来自专栏海仔技术驿站

    最全的Spring注解详解

    classMetadata = metadataReader.getClassMetadata(); // 获取当前类资源(类的路径) Resource resource = metadataReader.getResource(); // 获取这个类名 String className = classMetadata.getClassName : 使用Spring提供的FactoryBean(工厂Bean) 1) : 默认获取到的是工厂bean调用getObject创建的对象 2) : 要获取工厂Bean本身 ColorFactoryBean getBean() { return new ColorFactoryBean(); } public void test() { //工厂 4) . 自动装配默认一定要将属性赋值好,没有就会报错。

    90040发布于 2019-08-06
  • 来自专栏小菜良记

    【Spring-IOC】你需要掌握的注解版开发!

    :读取到的当前正在扫描的类的信息 * metadataReaderFactory:可以获取到其他任何类信息的 */ public boolean match(MetadataReader metadataReader 4) 按条件注入@Conditional({Condition}) 编写 Condition 的实现类 WindowsCondition //判断当前环境是否是windows系统 public class 6)FactoryBean(工厂Bean) 1)默认获取到的是工厂bean调用getObject创建的对象 2)要获取工厂Bean本身,我们需要给id前面加一个&colorFactoryBean 编写FactoryBean @PreDestroy..."); } } 4)BeanPostProcessor【interface】:bean的后置处理器 在bean初始化前后进行一些处理工作; postProcessBeforeInitialization applicationContext.getEnvironment().setActiveProfiles("dev"); //3、注册主配置类 applicationContext.register(MainConfigOfProfile.class); //4

    47320发布于 2020-11-11
  • 来自专栏DevOps运维

    4-数据的持久化和共享互连

    一 容器数据持久化和共享方案 A.为什么要使用docker数据持久化 正常情况下,删除容器,容器中所有的文件也会被删除。 所以需要能持久化容器中数据的方法,也就是数据卷 数据卷(Data Volume)的作用: 持久化容器运行过程中产生的数据文件 实现多个容器间的文件共享。 -v ~/f.txt:/test/b.txt 用主机文件f.txt文件替代容器b.txt文件 C3:源是容器管理卷[已建] -v noah:/test 挂载容器管理卷noah为容器目录/test C4: 可见已经将目录成功挂载到容器中,并且可以实时更新 用inspect查看镜像信息[root@docker01 ~]# docker container inspect 9c5e35343873|grep -A 4 /share/nginx/html busybox 通过docker inspect可以查看到信息[root@docker01 ~]# docker inspect vc_data |grep -A 4

    92940发布于 2021-11-16
  • 来自专栏平凡少年

    MVC4+WebApi+Redis Session共享练习(上)

    本文用到的知识点有MVC4、knockout.js、EntityFramework、WebApi、Redis缓存及基于Redis缓存的Session共享,都是很基础的操作,MVC我会介绍过滤器及错误捕捉 ) http://www.cnblogs.com/rohelm/p/3195750.html(webAPI入门讲解) 本文主要实现以下功能: MVCweb程序与WebApi实现数据通信及Session共享

    1K20发布于 2019-04-11
  • 来自专栏平凡少年

    MVC4+WebApi+Redis Session共享练习(下)

    本篇例子采用的开发环境为:VS2010(sp1)、MVC4,所有的数据都是与webApi服务进行交互。 1、先来一张项目结构图 ? 因为我们要测试sessioin共享,就做了一个登陆界面,存储用户名。 BaseController.cs 公共控制器,主要重写OnException方法对错误捕捉。 这也我们就不用每个页面写自己的异常处理了,在BaseController中我们定义了一个SessionHelper session的变量,SessionHelper为上一篇文章介绍的基于Redis的session共享

    99620发布于 2019-04-11
  • 来自专栏用户1337634的专栏

    ConditionalOnClass实现原理

    Users/tenmao/Workspace/boot/tenmao-cond/target/classes/com/tenmao/cond/UserManager.class"); //元数据解析器工厂 CachingMetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(); //元数据解析器 MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); //解析出来的类元数据 ClassMetadata classMetadata = metadataReader.getClassMetadata(); System.out.println(classMetadata); } 注意:整个过程程序并没有使用

    1.4K30发布于 2021-06-17
  • Win11共享打印0x0000bc4,三步解决共享难题

    在多人办公场景中,共享打印机能大幅提升效率,但Win11系统常因驱动、网络或权限问题出现错误,其中Win11共享打印0x0000bc4最为常见。 一、检查共享设置与网络配置 Win11共享打印0x0000bc4可先从基础设置错误,多数情况是网络或权限配置遗漏导致。 1.2 手动添加共享打印机 若系统自动搜索不到共享打印机,可通过IP地址直连: 在连接打印机的主机上,按 Win+R 输入 cmd,执行 ipconfig 获取IPv4地址; 在客户端电脑按 Win+R 输入 \\192.168.1.100,回车后找到共享打印机图标,右键「连接」 二、修改组策略与服务配置 如果基础设置没问题,Win11共享打印0x0000bc4的原因可能是系统策略限制或服务异常,需要通过组策略编辑器调整 针对Win11共享打印0x0000bc4错误,可以重点检测三类问题: 驱动状态:扫描驱动是否过期、损坏或与Win11不兼容; 共享配置:检查文件和打印机共享功能是否启用; 服务状态:监测Print Spooler

    4.6K10编辑于 2025-09-28
  • 来自专栏后端技术学习

    Mybatis整合Spring

    ,必然是需要自定义标签的解析器和自定义handler文件,因此我们可以找到mybatis的自定义标签解析器 1.自定义标签的使用: 2.首先创建一个需要扩展的组件 3.定义一个xsd文件描述组件内容 4. private static final String ATTRIBUTE_FACTORY_REF = "factory-ref"; //映射工厂bean类 private static 相反,创建一个仅包含此映射器扫描器的BeanFactory并对工厂进行后处理。 reader,也即拿到扫描文件信息 MetadataReader metadataReader = getMetadataReaderFactory().getMetadataReader(resource (MetadataReader metadataReader) throws IOException { //排查过滤器 for (TypeFilter tf : this.excludeFilters

    1.1K20发布于 2021-03-04
领券