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

一个好的网站有什么标准济南高新区建设局网站

一个好的网站有什么标准,济南高新区建设局网站,竞价外包推广,建设网站方式有哪些欢迎观看《Spring Framework实战》视频教程 Spring IoC 容器管理一个或多个 bean。这些 bean 是使用 您提供给容器的配置元数据#xff08;例如#xff0c;以 XML bean/定义的形式#xff09;。 在容器本身中#xff0c;这些 bean 定义表示为BeanDefinition对象例如以 XML bean/定义的形式。 在容器本身中这些 bean 定义表示为BeanDefinition对象其中包含除其他信息外以下元数据 包限定的类名通常是 bean 被定义。 Bean 行为配置元素这些元素表示 Bean 在 容器范围、生命周期回调等。 对 Bean 执行其工作所需的其他 Bean 的引用。这些 引用也称为协作者或依赖项。 要在新创建的对象中设置的其他配置设置 — 例如大小 pool 的限制或要在管理 连接池。 此元数据转换为构成每个 Bean 定义的一组属性。 下表描述了这些属性 表 1.bean 定义 属性 解释 Class 实例化 Bean Name 命名 Bean Scope Bean 作用域 Constructor arguments 依赖关系注入 Properties 依赖关系注入 Autowiring mode 自动装配协作者 Lazy initialization mode 延迟初始化的 Bean Initialization method 初始化回调 Destruction method 销毁回调 除了包含有关如何创建特定 bean则实现还允许注册现有的 在容器外部创建的对象由用户创建。这是通过访问 ApplicationContext 的 实现。 支持 此注册通过 和 方法。但是典型的应用程序仅使用通过常规定义的 bean Bean 定义元数据。ApplicationContextBeanFactorygetBeanFactory()DefaultListableBeanFactoryDefaultListableBeanFactoryregisterSingleton(..)registerBeanDefinition(..) Bean 元数据和手动提供的单例实例需要注册为 early 为了让容器在自动装配期间正确地推断它们 和其他内省步骤。在覆盖现有元数据和现有 在某种程度上支持单例实例在 运行时与工厂的实时访问同时不受官方支持可能会 导致并发访问异常、Bean 容器中的状态不一致或两者兼而有之。 覆盖 Bean 当使用已经 分配。虽然 bean 覆盖是可能的但它会使配置更难阅读。 Bean 覆盖将在将来的发行版中弃用。 要完全禁用 bean 覆盖可以在刷新之前将标志设置为 on。在这样的设置中 如果使用 Bean 覆盖则引发 Exception。allowBeanDefinitionOverridingfalseApplicationContext 默认情况下容器会记录每次在级别覆盖 Bean 的尝试以便 您可以相应地调整您的配置。虽然不建议这样做但您可以静音 通过将标志设置为 .INFOallowBeanDefinitionOverridingtrue Java 配置 如果使用 Java Configuration则相应的方法始终以静默方式覆盖 具有相同组件名称的扫描 Bean 类只要该方法的返回类型与该 Bean 类匹配即可。这只是意味着容器将调用 Factory 方法优先使用 Bean 类上任何预先声明的构造函数。BeanBeanBean 我们承认在测试场景中覆盖 bean 很方便并且 从 Spring Framework 6.2 开始明确支持这一点。有关更多详细信息请参阅此部分。 命名 Bean 每个 bean 都有一个或多个标识符。这些标识符在 托管 Bean 的容器。一个 bean 通常只有一个标识符。但是如果它 需要多个额外的可以被视为别名。 在基于 XML 的配置元数据中您可以使用 attribute、 attribute 或 两者都用于指定 Bean 标识符。该属性允许您指定一个 。 通常这些名称是字母数字myBean、someService 等但它们 也可以包含特殊字符。如果要为 bean你也可以在属性中指定它们用逗号 分隔 分号 或空格。尽管该属性被定义为类型但 Bean 唯一性是由容器强制执行的而不是由 XML 强制执行的 解析 器。idnameididname,;idxsd:stringid 您不需要为 bean 提供 a 或 an。如果未显式提供 or则容器将为该 bean 生成唯一名称。然而 如果要按名称引用该 bean请使用元素或 Service Locator 样式查找您必须提供名称。 不提供名称的动机与使用内部 bean 和自动装配协作者有关。nameidnameidref Bean 命名约定 约定是在以下情况下对实例字段名称使用标准 Java 约定 命名 bean。也就是说Bean 名称以小写字母开头并且是驼峰式大小写的 从那里开始。此类名称的示例包括 、 等。accountManageraccountServiceuserDaologinController 一致地命名 bean 使您的配置更易于阅读和理解。 此外如果你使用 Spring AOP那么在将 advice 应用于一组 bean 时它会有很大帮助 按名称相关。 通过在 Classpath 中进行组件扫描 Spring 会为 unnamed 生成 bean 名称 组件遵循前面描述的规则本质上采用简单的类名 并将其初始字符转换为小写。然而在不寻常的特别 当有多个字符并且同时具有第一个和第二个字符时 为大写则保留原始大小写。这些规则与 定义者Spring 在此处使用。java.beans.Introspector.decapitalize 在 Bean 定义之外为 Bean 设置别名 在 bean 定义本身中您可以通过使用 属性指定的最多一个名称与任意数量的其他名称的组合 names 在属性中。这些名称可以是同一 bean 的等效别名 并且在某些情况下很有用例如让应用程序中的每个组件 使用特定于该组件的 Bean 名称来引用公共依赖项 本身。idname 指定实际定义 bean 的所有别名并不总是足够的 然而。有时需要为定义的 bean 引入别名 别处。在配置拆分的大型系统中通常会出现这种情况 在每个子系统中每个子系统都有自己的一组对象定义。 在基于 XML 的配置元数据中您可以使用 Element 来完成 这。以下示例显示了如何执行此操作alias/ alias namefromName aliastoName/ 在这种情况下名为 使用此别名定义后称为 。fromNametoName 例如子系统 A 的配置元数据可以通过 的名称。子系统 B 的配置元数据可以引用 名称为 .编写主应用程序时 使用这两个子系统则主应用程序通过 的名称。要让所有三个名称都引用同一个对象您可以 将以下别名定义添加到配置元数据中subsystemA-dataSourcesubsystemB-dataSourcemyApp-dataSource alias namemyApp-dataSource aliassubsystemA-dataSource/ alias namemyApp-dataSource aliassubsystemB-dataSource/ 现在每个组件和主应用程序都可以通过名称来引用 dataSource 这是唯一的并且保证不会与任何其他定义冲突有效地 创建命名空间但它们引用同一个 bean。 Java 配置 如果使用 Java 配置则注释可用于提供别名。 有关详细信息请参阅使用 Bean 注释。Bean 实例化 Bean bean定义本质上是创建一个或多个对象的配方。当被询问时容器会查看命名bean的配方并使用该bean定义封装的配置元数据来创建或获取实际对象。 如果使用基于XML的配置元数据则需要在bean/元素的class属性中指定要实例化的对象的类型或类。这个类属性在内部是BeanDefinition实例上的class属性通常是必需的。有关例外情况请参阅使用实例工厂方法和Bean定义继承进行实例化。您可以通过以下两种方式之一使用Class属性 通常在容器 它本身通过反射性地调用其构造函数来直接创建 Bean 等效于带有运算符的 Java 代码。 要指定包含static工厂方法的实际类即 invoked 来创建对象在不太常见的情况下容器在类上调用static工厂方法来创建 Bean。返回的对象类型 从static工厂方法的调用可以是同一个类也可以是另一个类 类。 嵌套类名 如果要为嵌套类配置 bean 定义可以使用 binary name 或嵌套类的源名称。 例如如果您在包中有一个名为 class 的 set并且 此类有一个名为 的嵌套类它们可以是 用美元符号 或点 分隔。因此在 Bean 定义将是 或 。SomeThingcom.exampleSomeThingstaticOtherThing$.classcom.example.SomeThing$OtherThingcom.example.SomeThing.OtherThing 使用 Constructor 进行实例化 当你通过构造函数方法创建一个 bean 时所有普通类都可以被 和 与 Spring 兼容。也就是说正在开发的类不需要实现 任何特定接口或以特定方式编码。只需指定 bean 类应该就足够了。但是具体取决于您为该特定 bean则可能需要一个默认的空的构造函数。 Spring IoC 容器几乎可以管理您希望它管理的任何类。是的 不限于管理真正的 JavaBeans。大多数 Spring 用户更喜欢带有 仅对默认 无参数 构造函数和适当的 setter 和 getter 进行建模 在容器中的属性之后。你也可以有更多异国情调的非 bean 样式 类。例如如果您需要使用遗留连接池 绝对不遵守 JavaBean 规范Spring 可以将其管理为 井。 使用基于 XML 的配置元数据您可以按如下方式指定 Bean 类 bean idexampleBean classexamples.ExampleBean/ bean nameanotherExample classexamples.ExampleBeanTwo/ 有关向构造函数提供参数的机制的详细信息如果需要 以及在构造对象后设置对象实例属性请参阅注入依赖项。 对于构造函数参数容器可以选择相应的 constructor 在多个重载构造函数中。也就是说为避免歧义 建议使构造函数签名尽可能简单明了。 使用 Static Factory Method 进行实例化 定义使用静态工厂方法创建的 Bean 时使用该属性指定包含该工厂方法的类和一个属性 named 来指定工厂方法本身的名称。您应该 能够调用此方法使用可选参数如下所述并返回一个实时的 object该对象随后被视为通过构造函数创建的。 这种 bean 定义的一个用途是在遗留代码中调用工厂。classstaticfactory-methodstatic 以下 Bean 定义指定将通过调用 Factory 方法。定义没有指定返回对象的类型类 而是包含 Factory 方法的类。在此示例中method 必须是 method。以下示例说明如何 指定 Factory 方法createInstance()static bean idclientService classexamples.ClientService factory-methodcreateInstance/ 下面的示例展示了一个将与前面的 bean 定义一起使用的类 Java public class ClientService { private static ClientService clientService new ClientService(); private ClientService() {} public static ClientService createInstance() { return clientService; } } 有关向工厂方法提供可选参数的机制的详细信息 以及在从工厂返回对象后设置对象实例属性 详见 依赖关系和配置。 在工厂方法参数的情况下容器可以选择相应的 method 的 method。也就是说为避免歧义 建议使工厂方法签名尽可能简单明了。 工厂方法重载的一个典型问题情况是 Mockito它有许多 方法的重载。选择最具体的 可能 变体mockmock bean idclientService classorg.mockito.Mockito factory-methodmock constructor-arg typejava.lang.Class valueexamples.ClientService/ constructor-arg typejava.lang.String valueclientService/ /bean 使用实例工厂方法进行实例化 与通过 static factory method 进行实例化类似使用实例工厂方法进行实例化会调用非 static 方法创建一个新的 bean。要使用此功能 机制中将属性留空并在属性 在当前 或 parent 容器中指定 bean 的名称其中包含 要调用以创建对象的 instance 方法。设置 factory 方法本身具有 attribute。以下示例显示了 如何配置这样的 beanclassfactory-beanfactory-method !-- the factory bean, which contains a method called createClientServiceInstance() --bean idserviceLocator classexamples.DefaultServiceLocator !-- inject any dependencies required by this locator bean --/bean !-- the bean to be created via the factory bean --bean idclientService factory-beanserviceLocator factory-methodcreateClientServiceInstance/ 以下示例显示了相应的类 Java public class DefaultServiceLocator { private static ClientService clientService new ClientServiceImpl(); public ClientService createClientServiceInstance() { return clientService; } } 一个工厂类还可以包含多个工厂方法如下例所示 bean idserviceLocator classexamples.DefaultServiceLocator !-- inject any dependencies required by this locator bean --/bean bean idclientService factory-beanserviceLocator factory-methodcreateClientServiceInstance/ bean idaccountService factory-beanserviceLocator factory-methodcreateAccountServiceInstance/ 以下示例显示了相应的类 Java public class DefaultServiceLocator { private static ClientService clientService new ClientServiceImpl(); private static AccountService accountService new AccountServiceImpl(); public ClientService createClientServiceInstance() { return clientService; } public AccountService createAccountServiceInstance() { return accountService; } } 这种方法表明工厂 Bean 本身可以通过 依赖注入 DI。 详见 依赖关系和配置。 在 Spring 文档中“工厂 Bean”是指在 Spring 容器它通过实例或静态工厂方法创建对象。相比之下注意大写指的是特定于 Spring 的 FactoryBean 实现类。FactoryBean 确定 Bean 的运行时类型 确定特定 bean 的运行时类型并非易事。中指定的类 Bean 元数据定义只是一个初始类引用可能会组合在一起 替换为声明的工厂方法或者是一个可能导致 bean 的运行时类型不同或者在实例级别的情况下根本不设置 Factory 方法通过指定名称解析。 此外AOP 代理可以使用基于接口的代理包装 bean 实例其中 目标 Bean 的实际类型仅其实现的接口的有限公开。FactoryBeanfactory-bean 了解特定 Bean 的实际运行时类型的推荐方法是 对指定 Bean 名称的调用。这需要以上所有 cases 中并返回调用的对象类型 将返回相同的 bean 名称。BeanFactory.getTypeBeanFactory.getBean
http://www.hkea.cn/news/14314848/

相关文章:

  • 检测网站是否做了301wordpress 循环菜单
  • 建设工程学部研究生培养网站公司注册资金实缴政策最新
  • 网站备案信息代码淘宝客wordpress想
  • 通过服务推广网站南宁网站优化
  • 上海网站建设的价格低资源共享网站建设
  • 游戏网站开发有限公司苏州战斧网络科技有限公司
  • 大丰住房和城乡建设局网站小吃加盟网站大全
  • 论学院网站建设项目的进度管理浏览器无法跳转二级页面
  • 网站建设制作费用品牌建设经费投入占销售比重
  • 少儿美术网站建设方案东莞网站建设培训班
  • asp企业网站模板下载游戏开发用什么编程语言
  • 网站品牌推广公司wordpress json插件
  • 网站怎么做才能赚钱吗怎么制作网站镜像
  • 北京网站设计公司wx成都柚米科技15网站外链内链怎么做
  • 网站留言板功能机械加工网上接单流程
  • 做一个企业的官网可以做静态网站公司网站建设需要准备哪些资料
  • 做asp.net网站参考文献项目计划书模板范文
  • 自己可以做视频网站吗wordpress is home
  • 织梦视频网站模板软件工程职业生涯规划书
  • 中国网站为什么要备案网站制作公司拟
  • 潍坊知名网站建设哪家好康复中心网站建设方案
  • 鞍山自适应网站制作做网站基础教程
  • 做app的网站如何建立网站建设
  • 动态背景网站工程建设项目施工招标投标办法
  • 特效素材免费下载网站c 网站开发 简单例子
  • 网站维护属于什么部门凡客诚品的商业模式
  • 网站什么时候恢复彩色海南省住房和城市建设厅网站
  • 嘉兴网站建设优化无忧中英繁企业网站系统 完整
  • 先做网站再备案吗素材网站
  • 3d地图网站模板html网站域名是什么东西