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

怎么看网站有没有做301跳转网站建设教程高清视频

怎么看网站有没有做301跳转,网站建设教程高清视频,精品课程网站建设验收单,网页大图素材依赖注入是Java#xff08;以及许多其他编程语言#xff09;中广泛使用的软件设计模式#xff0c;用于实现控制反转 。 它提高了可重用性#xff0c;可测试性#xff0c;可维护性#xff0c;并有助于构建松耦合的组件。 如今#xff0c;依赖注入是将Java对象连接在一起的… 依赖注入是Java以及许多其他编程语言中广泛使用的软件设计模式用于实现控制反转 。 它提高了可重用性可测试性可维护性并有助于构建松耦合的组件。 如今依赖注入是将Java对象连接在一起的事实上的标准。 诸如Spring或Guice之类的各种Java框架可以帮助实现依赖注入。 从Java EE 6开始还有一个正式的Java EE API用于依赖关系注入 上下文和依赖关系注入 CDI。 我们使用依赖注入来注入服务存储库与域相关的组件资源或配置值。 但是以我的经验依赖注入也可以用来注入域对象这常常被忽略。 一个典型的例子是在Java许多应用程序中获取当前登录用户的方式。 通常我们最终会向登录用户询问某些组件或服务。 此代码看起来可能类似于以下代码片段 public class SomeComponent {Injectprivate AuthService authService;public void workWithUser() {User loggedInUser  authService.getLoggedInUser();// do something with loggedInUser} } 此处将AuthService实例注入SomeComponent。 SomeComponent的方法现在使用AuthService对象来获取已登录用户的实例。 但是除了注入AuthService之外我们还可以将登录用户直接注入SomeComponent中。 可能看起来像这样 public class SomeComponent {InjectLoggedInUserprivate User loggedInUser;public void workWithUser() {// do something with loggedInUser} } 在这里User对象直接注入SomeComponent中不需要AuthService实例。 如果存在多个类型为User的托管bean则使用自定义批注LoggedInUser来避免冲突。 Spring和CDI都可以进行这种类型的注入并且配置实际上非常相似。 在下一节中我们将看到如何使用Spring注入域对象。 在此之后我将描述使用CDI进行相同操作所需的更改。 使用Spring进行域对象注入 要注入上面示例中所示的域对象我们只需要做两个小步骤。 首先我们必须创建LoggedInUser批注 import java.lang.annotation.*; import org.springframework.beans.factory.annotation.Qualifier;Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Qualifier public interface LoggedInUser {} 请注意Qualifier批注它将LoggedInUser变成自定义限定符。 如果有多个相同类型的bean可用Spring会使用限定符来避免冲突。 接下来我们必须在我们的Spring配置中添加一个bean定义。 我们在这里使用Spring的Java配置也可以使用xml配置来完成。 Configuration public class Application {BeanLoggedInUserScope(value  WebApplicationContext.SCOPE_SESSION, proxyMode  ScopedProxyMode.TARGET_CLASS)public User getLoggedInUser() {// retrieve and return user object from server/database/session} } 在getLoggedInUser内部我们必须检索并返回当前登录用户的实例例如通过从第一个代码片段中询问AuthService。 使用Scope我们可以控制返回对象的范围。 最佳范围取决于域对象并且在不同的域对象之间可能有所不同。 对于代表登录用户的User对象 请求或会话范围将是有效的选择。 通过用LoggedInUser注释getLoggedInUser我们告诉Spring应该在每次注入用户类型为LoggedInUser的bean时使用此bean定义。 现在我们可以将登录用户注入其他组件 Component public class SomeComponent {AutowiredLoggedInUserprivate User loggedInUser;... } 在这个简单的示例中实际上不需要限定符注释。 只要只有一个类型为User的bean定义可用Spring可以按类型注入已登录的用户。 但是在注入域对象时很容易发生您具有相同类型的多个bean定义。 因此使用附加的限定符注释是一个好主意。 限定词凭借其描述性名称也可以充当文档如果命名正确。 简化Spring bean定义 注入许多域对象时最终有可能在bean配置中一遍又一遍地重复作用域和代理配置。 在这种情况下可以在自定义注释上使用Spring注释。 因此我们可以简单地创建自己的SessionScopedBean批注以代替Bean和Scope Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Bean Scope(value  WebApplicationContext.SCOPE_SESSION, proxyMode  ScopedProxyMode.TARGET_CLASS) public interface SessionScopedBean {} 现在我们可以简化bean的定义 Configuration public class Application {LoggedInUserSessionScopedBeanpublic User getLoggedInUser() {...} }Java EE和CDI CDI的配置几乎相同。 唯一的区别是我们必须用javax.inject和CDI注释替换Spring注释。 因此LoggedInUser应该使用javax.inject.Qualifier进行注释而不是org.springframework.beans.factory.annotation.Qualifier进行注释请参阅 使用Qualifiers 。 Spring bean定义可以用CDI Producer方法代替。 可以使用适当的CDI范围注释代替Scope。 在注入点可以将Spring的Autowired替换为Inject。 请注意Spring还支持javax.inject注释。 如果将javax.inject依赖项添加到Spring项目中则还可以使用Inject和 javax.inject.Qualifier。 这样做实际上是一个好主意因为它可以减少Java代码中的Spring依赖关系。 结论 我们可以使用自定义注释和作用域bean将域对象注入到其他组件中。 注入域对象可以使您的代码更易于阅读并且可以导致更清晰的依赖关系。 如果仅注入AuthService来获取登录用户则实际上取决于登录用户而不是AuthService。 不利的一面是它使您的代码更牢固地依赖于依赖注入框架该框架必须为您管理bean范围。 如果要保持在Dependency Injection容器之外使用类的能力则可能会遇到问题。 哪种类型的域对象适合注入在很大程度上取决于您正在处理的应用程序。 好的候选对象是您经常使用的领域对象它不依赖于任何方法或请求参数。 当前登录的用户是可能通常适合注入的对象。 您可以在GitHub上找到所示示例的源代码。 翻译自: https://www.javacodegeeks.com/2014/10/injecting-domain-objects-instead-of-infrastructure-components.html
http://icebutterfly214.com/news/7587/

相关文章:

  • 2025 年 11 月美白贴片面膜,补水贴片面膜,紧致贴片面膜厂家最新推荐,技术实力与市场口碑深度解析
  • vscode判断当前是否为debug模式
  • 深浅拷贝
  • 清华大学AI领导力AI时代领导力AI变革领导力培训师培训讲师专家唐兴通讲授数字化转型人工智能组织创新实践领导力国央企国有企业金融运营商制造业 - 教程
  • 基于Java+Springboot+Vue开发的大学生反诈视频宣传系统源码+运行步骤
  • 2025年知名的帆布布袋定制厂家推荐及选择建议
  • 手把手教你在Mac上安装Python 3.8.4:从下载.dmg到验证成功
  • 2025年靠谱的物流热销口碑榜
  • 使用微信编辑器时如何授权绑定公众号?
  • 2025年值得信赖的B2B网站谷歌优化专业谷歌优化机构服务推荐榜
  • 2025年口碑好的长毛绒滤袋行业内口碑厂家排行榜
  • 2025年11月合肥律师事务所推荐榜:五强对比与本土品牌排名解读
  • 2025年靠谱的物联箱式变电站行业内知名厂家排行榜
  • 2025年比较好的304不锈钢网片优质厂家推荐榜单
  • 国内优质的一物一码公司推荐
  • 2025年知名的PP防撞碳晶板厂家推荐及选择参考
  • 2025年11月成都找人公司排行榜:五家机构资质与服务对比
  • 2025年比较好的高低压配电柜成套设备用户好评厂家排行
  • 2025年口碑好的离婚律师口碑推荐榜
  • 2025年评价高的半斤泡椒酱高评价厂家推荐榜
  • 实用指南:【计算机视觉】基于数学形态学的保留边缘图像去噪
  • 拓展欧几里得
  • 2025年比较好的橡胶塑磁厂家最新TOP排行榜
  • 2025 年 11 月西安买房推荐,西安刚需楼盘推荐,西安学区房推荐最新推荐,专业测评与品牌保障口碑之选
  • wordpress中结账页面不显示产品缩略图解决方法
  • 成语接龙游戏代码分析
  • 金砖应急响应(东部)
  • 使用 Kotlin 结合 Tesseract OCR 识别验证码
  • 电动车 NFC 学卡 All In One
  • 【算法导论】2分治法