当前位置: 首页 > news >正文

如何在局域网中做网站代理好项目

如何在局域网中做网站,代理好项目,网络推广怎么能做好,百度开户推广多少钱BeanDefinitionRegistryPostProcessor注解 这种方式和第七种比较像 要实现两个方法 第一个方法是实现工厂 第二个方法叫后处理bean注册 package com.bigdata1421.bean;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.…BeanDefinitionRegistryPostProcessor注解 这种方式和第七种比较像 要实现两个方法 第一个方法是实现工厂 第二个方法叫后处理bean注册 package com.bigdata1421.bean;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;public class MyPostProcessor implements BeanDefinitionRegistryPostProcessor {Overridepublic void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {}Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {}} 跟之前的写法一样 package com.bigdata1421.bean;import com.bigdata1421.bean.service.impl.BookServiceImpl1; import com.bigdata1421.bean.service.impl.BookServiceImpl2; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.BeanNameGenerator; import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; import org.springframework.core.type.AnnotationMetadata;public class MyRegistrar implements ImportBeanDefinitionRegistrar {Overridepublic void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {BeanDefinition beanDefinition BeanDefinitionBuilder.rootBeanDefinition(BookServiceImpl2.class).getBeanDefinition();registry.registerBeanDefinition(yellow,beanDefinition);}} 我们操作配置类 我们首先Config8注入一个新的 类加载器 package com.bigdata1421.config;import com.bigdata1421.bean.service.BookService; import com.bigdata1421.bean.service.impl.BookServiceImpl1; import org.springframework.context.annotation.Import;Import(BookServiceImpl1.class) public class SpringConfig8 { } 我写一个APP8去拿bean package com.bigdata1421.bean.app;import com.bigdata1421.bean.service.BookService; import com.bigdata1421.config.SpringConfig7; import com.bigdata1421.config.SpringConfig8; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class App8 {public static void main(String[] args) {ApplicationContext ctxnew AnnotationConfigApplicationContext(SpringConfig8.class);BookService bookService ctx.getBean(bookService, BookService.class);bookService.check();} } 看一下业务层的实现类 package com.bigdata1421.bean.service.impl;import com.bigdata1421.bean.service.BookService; import org.springframework.stereotype.Service;Service(bookService) public class BookServiceImpl1 implements BookService {Overridepublic void check() {System.out.println(1);} } 名字叫bookService 运行 打印 这里我们导入一个bean 这就相当于有人在系统中已经定义好了 我们现在用register注册bean 我们这时候注入两个bean package com.bigdata1421.config;import com.bigdata1421.bean.MyRegistrar; import com.bigdata1421.bean.service.BookService; import com.bigdata1421.bean.service.impl.BookServiceImpl1; import org.springframework.context.annotation.Import;Import({BookServiceImpl1.class, MyRegistrar.class}) public class SpringConfig8 {} Myregistrar里面是这样写的 思考 我们在这边注入的是两个类加载器 bean是同一个bean 但无论我们怎么调换顺序 都是打印的这个 这种加载bean的顺序是有讲究的 小结 在Spring框架中Bean的底层数据结构通常是使用HashMap或ConcurrentHashMap来存储的。具体来说Spring使用一个名为BeanFactory的接口来管理Bean其默认实现是DefaultListableBeanFactory它内部使用一个ConcurrentHashMap来存储所有的Bean实例以及它们的相关信息。 这种设计使得Spring能够高效地管理大量的Bean并且支持并发访问。通过HashMap或ConcurrentHashMapSpring能够根据Bean的名称或类型快速查找和访问相应的Bean实例同时还能够处理Bean的依赖注入和生命周期管理等功能。 ConcurrentHashMap 是 Java 中的一个线程安全的哈希表实现它是对 HashMap 的改进版本专门用于在多线程环境下进行并发操作。 主要特点包括 分段锁设计 ConcurrentHashMap 内部通过将整个 Map 分割为多个 Segment段每个 Segment 默认是一个 HashEntry 数组各自维护一部分数据因此不同 Segment 的数据可以同时被多个线程访问提高了并发访问效率。 每个 Segment 内部都是一个类似于 HashMap 的结构使用 synchronized 关键字来保证线程安全。 线程安全性 ConcurrentHashMap 允许多个线程同时读取不会出现读取数据时的阻塞情况非阻塞读取。 对于写操作put、remove 等只会锁住相关的 Segment而不是整个 Map因此多个线程可以同时执行写操作从而提高了写操作的并发性能。 适用场景 ConcurrentHashMap 特别适用于多线程并发访问的场景例如在高并发的 Web 应用中作为缓存或者共享数据的存储结构能够提供较好的性能表现。 在 Java 并发框架中ConcurrentHashMap 是非常重要的组成部分被广泛应用于各种需要高效并发访问的场景。 迭代器特性 ConcurrentHashMap 的迭代器是弱一致性的Weakly Consistent即迭代器可以读取到其他线程改变后的数据但不会抛出 ConcurrentModificationException 异常因此可以在遍历的同时进行修改操作但可能会读取到一些旧数据。 总体来说ConcurrentHashMap 通过分段锁和优化的数据结构设计实现了在高并发情况下的高效读写操作是 Java 并发编程中常用的工具之一。 个人号推广 博客主页 朱道阳-CSDN博客 Web后端开发 https://blog.csdn.net/qq_30500575/category_12624592.html?spm1001.2014.3001.5482 Web前端开发 https://blog.csdn.net/qq_30500575/category_12642989.html?spm1001.2014.3001.5482 数据库开发 https://blog.csdn.net/qq_30500575/category_12651993.html?spm1001.2014.3001.5482 项目实战 https://blog.csdn.net/qq_30500575/category_12699801.html?spm1001.2014.3001.5482 算法与数据结构 https://blog.csdn.net/qq_30500575/category_12630954.html?spm1001.2014.3001.5482 计算机基础 https://blog.csdn.net/qq_30500575/category_12701605.html?spm1001.2014.3001.5482 回忆录 https://blog.csdn.net/qq_30500575/category_12620276.html?spm1001.2014.3001.5482
http://www.dnsts.com.cn/news/216582.html

相关文章:

  • 人才网站建设湖南产品网络推广业务
  • 网站域名能迁移吗asp.net网站连接mysql
  • 有什么网站是学做吃的wordpress 插件模板
  • 做网站需要什么资质外贸 网站建设
  • 查做空运磁检的网站怎么在服务器上面建设网站
  • 做网站需要具备哪些条件邯郸网站建设
  • 网站前台可以打开wordpress 后台实现轮播图
  • 张店网站建设价格wordpress如何导入附件
  • 如何自己创建网站wordpress免插件
  • 园林景观设计案例网站企业网站管理系统站长之家
  • 新能源网站建设哪家好东莞有什么好厂
  • 教育网站建设的策划方案如何做网站吸引广告商
  • 专业seo站长工具asp 网站源码 下载
  • 绍兴网站制作企业久治县wap网站建设公司
  • 江苏智能网站建设流程页面设计费用
  • 网站建设程序员做什么南昌seo网站管理
  • 网站建设工作总结6wordpress搭建电子商务
  • 网站搜索引擎优化方法自动发布到wordpress
  • 游戏网站建设项目规划爱站网使用体验
  • 建网站的论坛公众平台 wordpress
  • 网站设计怎么做一点首页就跳转绍兴公司注册
  • 爱站工具包如何增加网站wordpress 特别慢Mac
  • 国外花型设计网站ie不支持wordpress
  • 做视频网站都需要什么软件下载佛山网站策划哪家专业
  • 手机网站分享代码建设网站的注意事项
  • 中旅远洋商务网站建设策划书wordpress密码文件夹
  • 自己怎样优化网站360免费建站官网
  • 精致网站赏析网站开发 放大图片
  • 网站建设兼职在哪找有什么在线做文档的网站
  • 建设银行么官方网站软件开发需要用什么软件