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

南昌网站seo外包服务做图文的网站

南昌网站seo外包服务,做图文的网站,个人工作室创业项目,服装网站html模板文章目录 一、目标#xff1a;创建简单的Bean容器二、设计#xff1a;创建简单的Bean容器三、实现#xff1a;创建简单的Bean容器3.0 引入依赖3.1 工程结构3.2 创建简单Bean容器类图3.3 Bean定义3.4 Bean工厂 四、测试#xff1a;创建简单的Bean容器4.1 用户Bean对象4.2 单… 文章目录 一、目标创建简单的Bean容器二、设计创建简单的Bean容器三、实现创建简单的Bean容器3.0 引入依赖3.1 工程结构3.2 创建简单Bean容器类图3.3 Bean定义3.4 Bean工厂 四、测试创建简单的Bean容器4.1 用户Bean对象4.2 单元测试 五、总结创建简单的Bean容器 一、目标创建简单的Bean容器 Spring Bean 容器是什么 Spring 包含并管理应用对象的配置和生命周期在这个意义上它是一种用于承载对象的容器。 你可以配置你的每个 Bean 对象是如何被创建的。这些 Bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联构建和使用的。 如果一个 Bean 对象交给 Spring 容器管理那么这个 Bean 对象就应该以类似零件的方式被拆解后存放到 Bean 的定义中。 这样相当于一种把对象解耦的操作可以由 Spring 更加容易的管理就像处理循环依赖等操作。 当一个 Bean 对象被定义存放以后再由 Spring 统一进行装配这个过程包括Bean 的初始化、属性填充等。 最终我们就可以完整的使用一个 Bean 实例化后的对象了。 目标定义一个简单的 Spring 容器用于定义、存放和获取 Bean 对象。 二、设计创建简单的Bean容器 简单的 Spring Bean 容器如何实现 凡是可以存放数据的具体数据结构实现都可以称之为容器。 例如ArrayList、LinkedList、HashSet 等。但在 Spring Bean 容器的场景下我们需要一种可以用于存放和名称索引式的数据结构HashMap 是最合适的。 HashMap是一种基于扰动函数、负载因子、红黑树转换等技术内容形成的拉链寻址的数据结构。 它能让数据更加散列的分布在哈希桶以及碰撞时形成的链表和红黑树上。它的数据结构会尽可能最大限度的让整个数据读取的复杂度在 O(1)~O(Logn)~O(n) 之间。当日在极端情况下也会有 O(n) 链表查找数据较多的情况不过我们经过10万数据的扰动函数再寻址验证测试数据会均匀的散列在各个哈希桶索引上。所以 HashMap 非常适合用在 Spring Bean 的容器实现上。 一个简单的 Spring Bean 容器实现还需 Bean 的定义、注册、获取三个基本步骤。 定义BeanDefinition它会包括 singleton、prototype、BeanClassName 等。目前初步实现一个 Object 类型用于存放对象。注册这个过程就相当于我们把数据存放到 HashMap 中只不过现在 HashMap 存放的是定义了的 Bean 对象信息。获取最后就是获取对象Bean 的名字就是 keySpring 容器初始化好 Bean 以后就可以直接获取了。 三、实现创建简单的Bean容器 3.0 引入依赖 pom.xml dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependency /dependencies3.1 工程结构 spring-step-01 |-src|-main| |-java| |-com.lino.springframework| |-BeanDefinition.java| |-BeanFactory.java|-test|-java|-com.lino.springframework.test|-bean| |-UserService.java|-ApiTest.java3.2 创建简单Bean容器类图 Spring Bean 容器的整个实现内容非常简单也仅仅是包括了一个简单的 BeanFactory 和 BeanDefinition。 这里的类名称是与 Spring 源码中一致只不过现在的类实现会相对来说更简化一些在后续的实现再继续添加内容。BeanFactory用于定义 Bean 实例化信息现在的实现是一个 Object 存放对象。BeanDefinition代表了 Bean 对象的工厂可以存放 Bean 定义到 Map 中以及获取。 3.3 Bean定义 BeanDefinition.java package com.lino.springframework;/*** description: Bean 对象信息定义*/ public class BeanDefinition {/*** bean对象*/private Object bean;public BeanDefinition(Object bean) {this.bean bean;}public Object getBean() {return bean;} }目前的 Bean 定义中只有一个 Object 用于存放 Bean 对象。在后续的实现中会逐步完善 BeanDefinition 相关属性的填充。 例如SCOPE_SINGLETON、SCOPE_PROTOTYPE、ROLE_APPLICATION、ROLE_SUPPORT、ROLE_INFRASTRUCTURE 以及 Bean Class 信息。 3.4 Bean工厂 BeanFactory.java package com.lino.springframework;import java.util.Map; import java.util.concurrent.ConcurrentHashMap;/*** description: 简单的 Bean 工厂*/ public class BeanFactory {/*** bean对象Map*/private MapString, BeanDefinition beanDefinitionMap new ConcurrentHashMap();public Object getBean(String name) {return beanDefinitionMap.get(name).getBean();}public void registerBeanDefinition(String name, BeanDefinition beanDefinition) {beanDefinitionMap.put(name, beanDefinition);} }在 Bean 工厂的实现中包括了 Bean 的注册这里注册的是 Bean 的定义信息。同时在这个类中还包括了获取 Bean 的操作。目前的 BeanFactory 仍然是简化的实现但这种简化的实现内容也是整个 Spring 容器中关于 Bean 使用的最终体现结果。 只不过实现过程只展示出基本的核心原理。 四、测试创建简单的Bean容器 4.1 用户Bean对象 UserService.java package com.lino.springframework.test.bean;/*** description: 模拟用户 Bean 对象*/ public class UserService {/*** 查询用户信息*/public void queryUserInfo() {System.out.println(查询用户信息);} }定义一个 UserService 对象。 4.2 单元测试 ApiTest.java package com.lino.springframework.test;import com.lino.springframework.BeanDefinition; import com.lino.springframework.BeanFactory; import com.lino.springframework.test.bean.UserService; import org.junit.Test;/*** description: 测试类*/ public class ApiTest {Testpublic void test_BeanFactory() {// 1.初始化 BeanFactoryBeanFactory beanFactory new BeanFactory();// 2.注入beanBeanDefinition beanDefinition new BeanDefinition(new UserService());beanFactory.registerBeanDefinition(userService, beanDefinition);// 3.获取beanUserService userService (UserService) beanFactory.getBean(userService);userService.queryUserInfo();} }在单元测试中主要包括 初始化 Bean 工厂、注册 Bean、获取 Bean 三个步骤。在 Bean 的注册中这里是直接把 UserService 实例化后作为入参传递给 BeanDefinition 的在后续的陆续实现中这部分会放入 Bean 工厂中实现。 测试结果 查询用户信息通过测试结果看是正常通过的。 五、总结创建简单的Bean容器 整篇关于 Spring Bean 容器的一个雏形就已经实现完成了。相对于一个知识的学习来说写代码只是最后的步骤往往整个思路、设计、方案才更重要只要你知道了因为什么所以什么才能让你有一个真正的理解。
http://www.hkea.cn/news/14548237/

相关文章:

  • 怎么上线网站网站内链代码
  • 新七建设集团有限公司网站seo在线推广
  • 学校网站进不去怎么办公司网站怎样实名认证
  • 中山中小企业网站制作新手网页制作
  • 网站建设成本控制商家怎么入驻百度
  • html业务网站源码有哪些网站免费做推广
  • 未来中森网站建设公司中企动力这家公司怎么样
  • wps哪个工具做网站网站制作网站开发ple id充值
  • 哪个设计网站做兼职好公司网站维护和更新属于哪个部门
  • 做淘宝站外推广网站qq企业邮箱怎么开通注册
  • 专业网站策划域名 备案号 网站的关系
  • 网站制作上首页怎么做自已的网站
  • 专业网站优化电话番禺大石做网站
  • 怎么做二级网站域名wordpress火车头发布登陆失败
  • 网站建设logo图片建设和同城类似的网站
  • 福建省建设职业管理中心网站网站页头背景
  • 网站首页收录没有了游戏开发工作室
  • 如何自己搭建一个网站网站域名攻击
  • 泊头哪里建网站呢asp.net 网站启动慢
  • 外贸做网站公司哪家好python 做网站 数据库
  • dw做网站一般设为什么样黄冈网站推广都有哪些渠道
  • 电子商务网站和开发新闻类网站上海做网站比较有名的公司
  • 做网站图片切图是什么黄页88网企业名录搜索软件
  • 做网站编程需要学什么软件二次开发是什么意思
  • 武隆网站建设报价如何确认wordpress使用什么主题
  • 在喵窝网站怎么做图wordpress图片尺寸
  • 建设网站的内容规划刚刚地震最新消息今天 刚才
  • 美工模板网站如果使用自己电脑做网站
  • 国内网站建设发展公司部门主页设计方案
  • 网站建设陆金手指下拉贰拾台州网站公司建站