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

网站什么做南京网站优化工具

网站什么做,南京网站优化工具,中国建设电工网站,网站建设用啥技术在我的Spring Data Solr教程的上一部分中#xff0c;我们学习了如何配置Spring Data Solr。 现在该迈出一步#xff0c;了解我们如何管理Solr实例中存储的信息。 此博客文章描述了我们如何向Solr索引添加新文档#xff0c;如何更新现有文档的信息以及如何从索引中删除文档。… 在我的Spring Data Solr教程的上一部分中我们学习了如何配置Spring Data Solr。 现在该迈出一步了解我们如何管理Solr实例中存储的信息。 此博客文章描述了我们如何向Solr索引添加新文档如何更新现有文档的信息以及如何从索引中删除文档。 通过执行以下步骤我们可以对示例应用程序进行必要的修改 创建一个文档类其中包含存储在Solr索引中的信息。 为我们的Spring Data Solr存储库创建一个存储库接口。 创建一个使用创建的存储库的服务。 使用创建的服务。 以下各节将更详细地描述这些步骤。 注意 这些博客条目提供了其他信息可帮助我们理解此博客条目中描述的概念 使用Maven运行Solr Spring Data Solr教程Solr简介 Spring Data Solr教程配置 创建文档类 第一步是创建一个文档类其中包含添加到Solr索引中的信息。 文档类基本上只是一个POJO它通过遵循以下规则来实现 Field批注用于在POJO的字段和Solr文档的字段之间创建链接。 如果Bean的字段名称与文档的字段名称不同则必须以Field批注的值给出文档的字段名称。 Field批注可以应用于字段或setter方法。 Spring Data Solr默认情况下假设文档的id字段的名称为id。 我们可以通过使用Id注释对id字段进行注释来覆盖此设置。 Spring Data Solr版本1.0.0.RC1要求文档ID的类型为String 。 更多信息 Solrj Solr维基 让我们继续创建我们的文档类。 在我的Spring Data Solr教程的第一部分中我们了解到必须将每个todo条目的id 描述和标题存储到Solr索引中。 因此我们可以按照以下步骤为待办事项创建文档类 创建一个名为TodoDocument的类。 id字段添加到TodoDocument类并与Field注解注释字段。 用Id注释对字段进行注释由于id字段的名称为id所以这不是必需的但我想在此处演示其用法。 说明字段添加到TodoDocument类并与Field注解注释这一领域。 标题字段添加到TodoDocument并与Field注解注释这一领域。 在TodoDocument类的字段中创建getter方法。 创建一个静态内部类该内部类用于构建新的TodoDocument对象。 将静态getBuilder方法添加到TodoDocument类。 此方法的实现返回一个新的TodoDocument.Builder对象。 TodoDocument类的源代码如下所示 import org.apache.solr.client.solrj.beans.Field; import org.springframework.data.annotation.Id;public class TodoDocument {IdFieldprivate String id;Fieldprivate String description;Fieldprivate String title;public TodoDocument() {}public static Builder getBuilder(Long id, String title) {return new Builder(id, title);}//Getters are omittedpublic static class Builder {private TodoDocument build;public Builder(Long id, String title) {build new TodoDocument();build.id id.toString();build.title title;}public Builder description(String description) {build.description description;return this;}public TodoDocument build() {return build;}} }创建存储库界面 Spring Data Solr存储库的基本接口是SolrCrudRepository TID接口每个存储库接口都必须扩展此接口。 当扩展SolrCrudRepository TID接口时我们必须提供两个类型参数下面将对其进行描述 T type参数表示我们的文档类的类型。 ID类型参数表示文档ID的类型。 Spring Data Solr版本1.0.0.RC1要求文档的ID为String 。 我们可以按照以下步骤创建存储库接口 创建一个名为TodoDocumentRepository的接口。 扩展SolrCrudRepository接口并提供我们的文档类的类型及其ID作为类型参数。 TodoDocumentRepository接口的源代码如下所示 import org.springframework.data.solr.repository.SolrCrudRepository;public interface TodoDocumentRepository extends SolrCrudRepositoryTodoDocument, String { }创建服务 下一步是创建使用已创建的Solr存储库的服务。 我们可以按照以下步骤创建此服务 创建服务接口。 实现创建的接口。 下面将更详细地描述这些步骤。 创建服务接口 我们的服务接口声明了以下两种方法 void addToIndexTodo todoEntry方法将todo条目添加到索引。 void deleteFromIndexLong id方法从索引中删除待办事项。 注意我们可以使用addToIndex方法将新的待办事项添加到Solr索引中并更新现有待办事项的信息。 如果现有文档的ID与新文档的ID相同则将删除旧文档并将新文档的信息保存到Solr索引有关更多详细信息 请参见SchemaXML Solr Wiki 。 TodoIndexService接口的源代码如下所示 public interface TodoIndexService {public void addToIndex(Todo todoEntry);public void deleteFromIndex(Long id); } 实施创建的接口 通过执行以下步骤我们可以实现服务接口 创建我们的服务类的框架实现。 实现用于将文档添加到Solr索引的方法。 实现用于从Solr索引中删除文档的方法。 下面将更详细地描述这些步骤。 创建服务类的框架实现 通过执行以下步骤我们可以创建服务接口的框架实现 创建一个名为RepositoryTodoIndexService的类并使用Service注释对该类进行注释。 该注释将该类标记为服务并确保在类路径扫描期间将检测到该类。 将TodoDocumentRepository字段添加到RepositoryTodoIndexService类并使用Resource注释对该字段进行注释。 该注释指示Spring IoC容器将实际的存储库实现注入服务的存储库字段。 我们的虚拟服务实现的源代码如下所示 import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource;Service public class RepositoryTodoIndexService implements TodoIndexService {Resourceprivate TodoDocumentRepository repository;//Add methods here }将文档添加到Solr索引 我们可以按照以下步骤创建将新文档添加到Solr索引的方法 将addToIndex方法添加到RepositoryTodoIndexService类中并使用Transactional注释对该方法进行注释。 这确保了我们的Spring Data Solr存储库将参与Spring托管的事务 。 通过使用生成器模式创建一个新的TodoDocument对象。 设置创建的文档的id 标题和描述 。 通过调用TodoDocumentRepository接口的save方法将文档添加到Solr索引中。 创建的方法的源代码如下所示 import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource;Service public class RepositoryTodoIndexService implements TodoIndexService {Resourceprivate TodoDocumentRepository repository;TransactionalOverridepublic void addToIndex(Todo todoEntry) {TodoDocument document TodoDocument.getBuilder(todoEntry.getId(), todoEntry.getTitle()).description(todoEntry.getDescription()).build();repository.save(document);}//Add deleteFromIndex() method here }从Solr索引中删除文档 我们可以按照以下步骤创建一种从Solr索引中删除文档的方法 将deleteFromIndex方法添加到RepositoryTodoDocumentService类并使用Transactional注释对该方法进行注释。 这确保了我们的Spring Data Solr存储库将参与Spring托管的事务 。 通过调用TodoDocumentRepository接口的delete方法从Solr索引中删除文档。 创建的方法的源代码如下所示 import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource;Service public class RepositoryTodoIndexService implements TodoIndexService {Resourceprivate TodoDocumentRepository repository;//Add addToIndex() method hereTransactionalOverridepublic void deleteFromIndex(Long id) {repository.delete(id.toString());} }使用创建的服务 我们的最后一步是使用我们先前创建的服务。 我们可以通过对RepositoryTodoService类进行以下修改来做到这一点 将TodoIndexService字段添加到RepositoryTodoService类并使用Resource注释对该字段进行注释。 该注释指示Spring IoC容器将创建的RepositoryTodoIndexService对象注入到服务的indexService字段中。 调用在RepositoryTodoService类的add方法的TodoIndexService接口的addToIndex方法。 调用在RepositoryTodoService类的deleteById方法TodoIndexService接口的deleteFromIndex方法。 调用在RepositoryTodoService类的update方法的TodoIndexService接口的addToIndex方法。 RepositoryTodoService的源代码如下所示 import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource; import java.util.List;Service public class RepositoryTodoService implements TodoService {Resourceprivate TodoIndexService indexService;Resourceprivate TodoRepository repository;PreAuthorize(hasPermission(Todo, add))TransactionalOverridepublic Todo add(TodoDTO added) {Todo model Todo.getBuilder(added.getTitle()).description(added.getDescription()).build();Todo persisted repository.save(model);indexService.addToIndex(persisted);return persisted;}PreAuthorize(hasPermission(Todo, delete))Transactional(rollbackFor {TodoNotFoundException.class})Overridepublic Todo deleteById(Long id) throws TodoNotFoundException {Todo deleted findById(id);repository.delete(deleted);indexService.deleteFromIndex(id);return deleted;}PreAuthorize(hasPermission(Todo, update))Transactional(rollbackFor {TodoNotFoundException.class})Overridepublic Todo update(TodoDTO updated) throws TodoNotFoundException {Todo model findById(updated.getId());model.update(updated.getDescription(), updated.getTitle());indexService.addToIndex(model);return model;} }摘要 我们已经成功创建了一个将文档添加到Solr索引并从中删除文档的应用程序。 这篇博客文章告诉我们以下内容 我们了解了如何创建文档类。 我们了解到可以通过扩展SolrCrudRepository接口来创建Spring Data Solr存储库。 我们了解到Spring Data Solr默认情况下假设文档的id字段的名称为id。 但是我们可以通过使用Id注释对id字段进行注释来覆盖此设置。 我们了解到目前Spring Data Solr版本1.0.0.RC1期望文档的ID为String 。 我们了解了如何将文档添加到Solr索引并从中删除文档。 我们了解到Spring Data Solr存储库可以参与Spring托管的事务。 我的Spring Data Solr教程的下一部分描述了如何使用查询方法从Solr索引中搜索信息 。 PS此博客条目的示例应用程序可从Github获得 。 参考 Spring Data Solr教程 Petri Kainulainen博客上来自我们的JCG合作伙伴 Petri Kainulainen的CRUD几乎 。 翻译自: https://www.javacodegeeks.com/2013/05/spring-data-solr-tutorial-crud-almost.html
http://www.huolong8.cn/news/206528/

相关文章:

  • 陵水县建设局网站高权重网站做js代码跳转
  • 上海网站建设心得东莞财务公司代注册公司
  • 企业网站开发报告班级同学录网站建设
  • 郑州做网站推公司做网站怎么做账
  • 网站建设开源程序厦门市建设局官方网站证书查询
  • 北京市建设厅网站首页nginx进wordpress不能进目录
  • 怎么做电影网站页面的国外打开网站会不会乱码
  • 医院网站建设 中企动力棋牌推广
  • 自家宽带怎么建设网站企业网站完整版
  • 网站开发服务计入什么科目加强门户网站建设方案
  • 网站设计制作软件网站上传空间下一步
  • 百度电脑版登录网站中装建设为什么不涨
  • 外贸网站推广渠道wordpress十大必备插件
  • 网站建设系统认证系统网站里面添加支付怎么做
  • 台州建设网站公司企业网站策划书范文3000字
  • 备案 网站下线建设厅网站业务系统板块查成绩
  • 做视频找素材的网站好看的网站首页欣赏
  • 元素网站平面设计电商设计
  • html5高端红色织梦网络公司网站河北手机网站制作哪家好
  • 太仓做企业网站关于征集网站建设素材的通知
  • 门户网站具有什么特点wordpress加速优化
  • wordpress教程 数据库重庆官网优化乐育公司
  • 河南建设人才招聘专业网站二维码生成器app
  • 微信小程序网站制作商城网络推广
  • vultr 做网站空间php注册网站源码带数据库
  • php网站开发工程师笔试一半招聘网站海报格式都怎么做
  • 物流网站建设相关的问题网页游戏排行榜2011
  • 大气手机企业网站极简wordpress主题
  • 教人做窗帘的视频网站屯留做网站哪里好
  • 怎样制作自己公司的网站企业名录2019企业黄页