怎样创办一个网站重庆网络公司流程

web/2025/10/3 14:45:09/文章来源:
怎样创办一个网站,重庆网络公司流程,商丘网站制作,深圳建设交易公司这是Project Student的一部分。 其他帖子包括带有Jersey的Webservice Client#xff0c;带有Jersey的 Webservice Server和带有Spring Data的Persistence 。 RESTful Webapp洋葱的第三层是业务层。 这就是应用程序的精髓所在–编写良好的持久性和Web服务层受到约束#xff0… 这是Project Student的一部分。 其他帖子包括带有Jersey的Webservice Client带有Jersey的 Webservice Server和带有Spring Data的Persistence 。 RESTful Webapp洋葱的第三层是业务层。 这就是应用程序的精髓所在–编写良好的持久性和Web服务层受到约束但是任何事情都在业务层中进行。 此时我们仅实现CRUD方法因此这些方法非常简单。 设计决策 Spring Data –我们将使用Spring Data作为持久层因此我们需要牢记指定持久层接口。 正如我们将在下一个博客中看到的那样这极大地简化了我们的生活。 局限性 DataAccessException –不会尝试根据我们收到的DataAccessException的类型抛出不同的异常。 稍后这将很重要–我们应该以不同于丢失数据库连接的方式对待约束违反。 服务介面 首先提醒我们在上一篇文章中确定的服务接口。 public interface CourseService {ListCourse findAllCourses();Course findCourseById(Integer id);Course findCourseByUuid(String uuid);Course createCourse(String name);Course updateCourse(Course course, String name);void deleteCourse(String uuid); }服务实施 由于服务是基本的CRUD操作因此该服务的实施速度很快。 我们唯一需要担心的是数据库是否存在问题Spring中的DataAccessException或找不到期望值。 我们需要在前者的API中添加新的例外而后者的API中已经有例外。 public class CourseServiceImpl implements CourseService {private static final Logger log LoggerFactory.getLogger(CourseServiceImpl.class);Resourceprivate CourseRepository courseRepository;/*** Default constructor*/public CourseServiceImpl() {}/*** Constructor used in unit tests*/CourseServiceImpl(CourseRepository courseRepository) {this.courseRepository courseRepository;}/*** see com.invariantproperties.sandbox.student.business.CourseService#* findAllCourses()*/Transactional(readOnly true)Overridepublic ListCourse findAllCourses() {ListCourse courses null;try {courses courseRepository.findAll();} catch (DataAccessException e) {if (!(e instanceof UnitTestException)) {log.info(error loading list of courses: e.getMessage(), e);}throw new PersistenceException(unable to get list of courses., e);}return courses;}/*** see com.invariantproperties.sandbox.student.business.CourseService#* findCourseById(java.lang.Integer)*/Transactional(readOnly true)Overridepublic Course findCourseById(Integer id) {Course course null;try {course courseRepository.findOne(id);} catch (DataAccessException e) {if (!(e instanceof UnitTestException)) {log.info(internal error retrieving course: id, e);}throw new PersistenceException(unable to find course by id, e, id);}if (course null) {throw new ObjectNotFoundException(id);}return course;}/*** see com.invariantproperties.sandbox.student.business.CourseService#* findCourseByUuid(java.lang.String)*/Transactional(readOnly true)Overridepublic Course findCourseByUuid(String uuid) {Course course null;try {course courseRepository.findCourseByUuid(uuid);} catch (DataAccessException e) {if (!(e instanceof UnitTestException)) {log.info(internal error retrieving course: uuid, e);}throw new PersistenceException(unable to find course by uuid, e,uuid);}if (course null) {throw new ObjectNotFoundException(uuid);}return course;}/*** see com.invariantproperties.sandbox.student.business.CourseService#* createCourse(java.lang.String)*/TransactionalOverridepublic Course createCourse(String name) {final Course course new Course();course.setName(name);Course actual null;try {actual courseRepository.saveAndFlush(course);} catch (DataAccessException e) {if (!(e instanceof UnitTestException)) {log.info(internal error retrieving course: name, e);}throw new PersistenceException(unable to create course, e);}return actual;}/*** see com.invariantproperties.sandbox.course.persistence.CourseService#* updateCourse(com.invariantproperties.sandbox.course.domain.Course,* java.lang.String)*/TransactionalOverridepublic Course updateCourse(Course course, String name) {Course updated null;try {final Course actual courseRepository.findCourseByUuid(course.getUuid());if (actual null) {log.debug(did not find course: course.getUuid());throw new ObjectNotFoundException(course.getUuid());}actual.setName(name);updated courseRepository.saveAndFlush(actual);course.setName(name);} catch (DataAccessException e) {if (!(e instanceof UnitTestException)) {log.info(internal error deleting course: course.getUuid(),e);}throw new PersistenceException(unable to delete course, e,course.getUuid());}return updated;}/*** see com.invariantproperties.sandbox.student.business.CourseService#* deleteCourse(java.lang.String)*/TransactionalOverridepublic void deleteCourse(String uuid) {Course course null;try {course courseRepository.findCourseByUuid(uuid);if (course null) {log.debug(did not find course: uuid);throw new ObjectNotFoundException(uuid);}courseRepository.delete(course);} catch (DataAccessException e) {if (!(e instanceof UnitTestException)) {log.info(internal error deleting course: uuid, e);}throw new PersistenceException(unable to delete course, e, uuid);}} } 此实现告诉我们持久层所需的接口。 持久层接口 我们将使用Spring Data作为持久层并且DAO接口与Spring Data存储库相同。 我们只需要一种非标准方法。 public class CourseServiceImplTest {Testpublic void testFindAllCourses() {final ListCourse expected Collections.emptyList();final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findAll()).thenReturn(expected);final CourseService service new CourseServiceImpl(repository);final ListCourse actual service.findAllCourses();assertEquals(expected, actual);}Test(expected PersistenceException.class)public void testFindAllCoursesError() {final ListCourse expected Collections.emptyList();final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findAll()).thenThrow(new UnitTestException());final CourseService service new CourseServiceImpl(repository);final ListCourse actual service.findAllCourses();assertEquals(expected, actual);}Testpublic void testFindCourseById() {final Course expected new Course();expected.setId(1);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findOne(any(Integer.class))).thenReturn(expected);final CourseService service new CourseServiceImpl(repository);final Course actual service.findCourseById(expected.getId());assertEquals(expected, actual);}Test(expected ObjectNotFoundException.class)public void testFindCourseByIdMissing() {final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findOne(any(Integer.class))).thenReturn(null);final CourseService service new CourseServiceImpl(repository);service.findCourseById(1);}Test(expected PersistenceException.class)public void testFindCourseByIdError() {final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findOne(any(Integer.class))).thenThrow(new UnitTestException());final CourseService service new CourseServiceImpl(repository);service.findCourseById(1);}Testpublic void testFindCourseByUuid() {final Course expected new Course();expected.setUuid([uuid]);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(expected);final CourseService service new CourseServiceImpl(repository);final Course actual service.findCourseByUuid(expected.getUuid());assertEquals(expected, actual);}Test(expected ObjectNotFoundException.class)public void testFindCourseByUuidMissing() {final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(null);final CourseService service new CourseServiceImpl(repository);service.findCourseByUuid([uuid]);}Test(expected PersistenceException.class)public void testFindCourseByUuidError() {final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenThrow(new UnitTestException());final CourseService service new CourseServiceImpl(repository);service.findCourseByUuid([uuid]);}Testpublic void testCreateCourse() {final Course expected new Course();expected.setName(name);expected.setUuid([uuid]);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.saveAndFlush(any(Course.class))).thenReturn(expected);final CourseService service new CourseServiceImpl(repository);final Course actual service.createCourse(expected.getName());assertEquals(expected, actual);}Test(expected PersistenceException.class)public void testCreateCourseError() {final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.saveAndFlush(any(Course.class))).thenThrow(new UnitTestException());final CourseService service new CourseServiceImpl(repository);service.createCourse(name);}Testpublic void testUpdateCourse() {final Course expected new Course();expected.setName(Alice);expected.setUuid([uuid]);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(expected);when(repository.saveAndFlush(any(Course.class))).thenReturn(expected);final CourseService service new CourseServiceImpl(repository);final Course actual service.updateCourse(expected, Bob);assertEquals(Bob, actual.getName());}Test(expected ObjectNotFoundException.class)public void testUpdateCourseMissing() {final Course expected new Course();final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(null);final CourseService service new CourseServiceImpl(repository);service.updateCourse(expected, Bob);}Test(expected PersistenceException.class)public void testUpdateCourseError() {final Course expected new Course();expected.setUuid([uuid]);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(expected);doThrow(new UnitTestException()).when(repository).saveAndFlush(any(Course.class));final CourseService service new CourseServiceImpl(repository);service.updateCourse(expected, Bob);}Testpublic void testDeleteCourse() {final Course expected new Course();expected.setUuid([uuid]);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(expected);doNothing().when(repository).delete(any(Course.class));final CourseService service new CourseServiceImpl(repository);service.deleteCourse(expected.getUuid());}Test(expected ObjectNotFoundException.class)public void testDeleteCourseMissing() {final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(null);final CourseService service new CourseServiceImpl(repository);service.deleteCourse([uuid]);}Test(expected PersistenceException.class)public void testDeleteCourseError() {final Course expected new Course();expected.setUuid([uuid]);final CourseRepository repository Mockito.mock(CourseRepository.class);when(repository.findCourseByUuid(any(String.class))).thenReturn(expected);doThrow(new UnitTestException()).when(repository).delete(any(Course.class));final CourseService service new CourseServiceImpl(repository);service.deleteCourse(expected.getUuid());} }整合测试 集成测试已推迟到实现持久层。 源代码 可从http://code.google.com/p/invariant-properties-blog/source/browse/student/student-business获得源代码。 参考 项目学生我们的JCG合作伙伴 Bear Giles在Invariant Properties博客上的业务层 。 翻译自: https://www.javacodegeeks.com/2014/01/project-student-business-layer.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乌镇网站建设标书网络营销手段有哪些

一、什么是湖仓一体(Lakehouse)? 湖仓一体是一种融合了数据湖的灵活存储能力与数据仓库的高效分析功能的现代数据架构。它通过整合两者的优势,解决了传统架构的局限性,为企业数据处理提供了更全面的解决方案。 数据湖…

学校集约网站建设我做的网站怎样被百度收录

在本文中,我们将看到作为JEP 286的一部分提出的名为Local Variable Type Inference的Java10功能。 从Java的第一个版本开始,它是一种强类型语言,在这里我们需要提及每种变量数据类型。 我们所有人都感到Java是冗长的语言,并期望精…

廊坊公司网站建设濮阳市建设分局网站

查询非嵌套文档数组 非嵌套文档的数组,数组由数字、字符串等元素组成。 以下方法对数组字段进行查询操作的示例,包括对数组匹配查询,元素的增、删、改操作,空数组、非空数组查询等。 测试数据 连接到 mongodb 数据库&#xff0…

中国行业网站大全wordpress入侵教程

功能:在Web页中创建通用表。 属性: 1、CellPadding属性:用于设置表中单元格的边框和内容之间的距离(以像素为单位)。默认为-1(未设置)。 2、CellSpacing属性:用于设置表中单元格之间…

信息网站设计案例中山做网站排名

如今闹得不可开交的3Q大战已经成了一道独特的风景线,让我们在茶余饭后又增添了不少谈资。这两个中国最大的客户端软件提供商各有拥趸无数,双方铆足了劲相互吐口水、扔砖头,现在貌似到了动刀子了。周、马在媒体上也都将自己标榜为“美貌与智慧…

如何制作一个公司网站网站建设倒计时单页源码

文章目录1. 题目2. 解题1. 题目 学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。 示例:输入:[…

开发 网站 费用织梦响应式网站

实现使用 Docker 在一台服务器上搭建支持 80、443 端口访问的测试、生产双站点系统。 1、生产环境&测试环境的规划和部署 1.1、说明 图1 系统部署示意图 1)项目 此处以一个演示项目的形式来进行环境的规划和部署。此项目名称默认定义为:“demo”&a…

哪家做的濮阳网站建设重庆建站公司哪个好

编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。 P154 例4.11 汇编思路:DATA段定义X、Y、RESULE分别用于存放随机数、存放随机数、存放最后计算结果。STACK段定义100DB大小的堆栈段运算存储空间。将AX获取…

关于网站得精神文明建设网站建设与管理代码题

文本三剑客(sed) 使用场景基本语法实例命令列表 使用场景 sed提供了一种面交互的方式修改文件内容。 它是一行一行处理,可以通过正则匹配要修改的部分 基本语法 基本语法 sed [-opt] command files(多个文件 空格隔开) sed 使用正则 sed -…

网站打开慢怎么回事啊装修网站建设策划方案

生成报表页面: 右下图是报表页面,如果图纸有改动,点左图更新 举例,下图有急停按钮符号,要把急停按钮显示在清单里.第一步,已经有了符号(下左图急停),符号有设备标识符.第二步就是简易自建部件,第三部是在符号属性里关联自建部件 上图是右键点击同类型的部件,然后新建.下图新建部…

seo建站优化浏览器下载安装2023版本

PingWest品玩5月14日讯,在GTC 2020线上发布会上,英伟达CEO黄仁勋正式推出了安培(Ampere)架构GPU。据其表示,这块芯片采用7nm工艺,540亿晶体管,20倍AI算力,实现5大技术创新。黄仁勋表示,“这是英…

网站规划与建设是什么全国信息企业查询系统官网

目录 写在前面 1.我们的着装 2.我们善于学习 3.我们善于解决问题 4.我们很单纯 5.我们喜欢聆听 6.我们很有创造力 7.我们善于分享 8.我们很细心 9.和我们约会的好处 10.活捉程序员的技巧 11.值此1024程序员节,我们的愿望 12.附上程序员装逼指南 写在最…

京东代运营沈阳网站seo公司

[toc]目录一、常规滤波低通高通带通带阻二、非局部均值滤波三、维纳滤波四、卡尔曼滤波前言所谓滤波,其实就是从混合在一起的诸多信号中提取出所需要的信号。信号的分类:确定型信号,可以表示为确定的时间函数,可确定其在任何时刻的…

网站建设仟金手指六六14网站被备案能建设

1 K8S 简介 K8S是Kubernetes的简称,是一个开源的容器编排平台,用于自动部署、扩展和管理“容器化(containerized)应用程序”的系统。它可以跨多个主机聚集在一起,控制和自动化应用的部署与更新。 K8S 架构 Kubernete…

网站设计主要内容seo视频

接前一篇文章:中移(苏州)软件技术有限公司面试问题与解答(4)—— virtio所创建的设备1 在上一篇文章中,对于面试所提出的问题“virtio会创建哪些设备?”,有了初步答案,即…

做特色菜的网站徐州市住房和城乡建设局网站

概述 前台服务是用户主动意识到的一种服务,因此在内存不足时,系统也不会考虑将其终止。前台服务必须为状态栏提供通知,将其放在运行中的标题下方。这意味着除非将服务停止或从前台移除,否则不能清除该通知。 在 Android 8.0&…

南海区住房和城乡建设部网站农业网站建设方案 ppt模板下载

中文大模型正在后来居上,也必须后来居上。 数科星球原创 作者丨苑晶 编辑丨大兔 从GPT3.5彻底出圈后,大模型的影响力开始蜚声国际。一段时间内,国内科技公司可谓被ChatGPT按在地上打,毫无还手之力。 彼时,很多企业…

淘宝网站开发多少金额php黄页系统

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼编写程序,登录幼儿园200个小朋友的数据:姓名、性别、年龄、身高、体重、出生日期,分别按年龄排序后输出。要求:(1)登录数据用函数input()(2)按身高排序用函数sort()(3)输出排序结果用…

购物网站黑白如何创业开网店

影片剪辑脚本和按钮的脚本类似,它们都使用事件处理函数,与按钮的on关键字不同,影片剪辑使用 onClipEvent关键字。当某种影片剪辑事件发生时,就会触发相应的事件处理函数。影片剪辑最重要的两种事件是load和enterFrame,…

数字媒体应用 网站开发东莞网站建设十大品牌

JavaScript 只有一种数字类型。可以使用也可以不使用小数点来书写数字。 var pi3.14; // 使用小数点 var x34; // 不使用小数点 极大或极小的数字可通过科学(指数)计数法来写: var y123e5; // 12300000 var z123e-5; // 0.0…