怎样创办一个网站十堰网络科技公司排名

news/2025/10/4 17:29:21/文章来源:
怎样创办一个网站,十堰网络科技公司排名,如何做好一个企业网站设计,商丘市网站建设公司这是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/news/927390.shtml

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

相关文章

单一训练模式适应多个机器人本体 —— skiled brain —— 机器人酷刑现场,竟是为了锻造全能大脑,网友:求AGI饶了我

单一训练模式适应多个机器人本体 —— skiled brain —— 机器人酷刑现场,竟是为了锻造全能大脑,网友:求AGI饶了我地址: https://www.bilibili.com/video/BV1chngzvExC/本博客是博主个人学习时的一些记录,不保证…

2025/10/4 总结

A 用时:1h 预期:100pts 实际:100pts 发现直接暴力的复杂度是调和级数,于是就过了。 总结:对于这种复杂度有有剪枝的题,可以先算时间复杂度看是不是可过。 B 用时:2h 预期:50pts 实际:50pts 已经会了 50pts 暴…

win10界面如何改成经典菜单?

win10界面如何改成经典菜单?win10系统是微软推出的windows操作系统,在一些功能和设置上,与原先的win7有很多不一样的地方,很多小伙伴习惯了win7的开始菜单,开始使用win10的开始菜单非常不习惯,那么win10界面如何…

Qt处理Windows平板上摄像头

Qt处理Windows平板上摄像头pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

邢台网站建设服务周到网站域名 英文

grad norm先降后升再降正常嘛 在深度学习中,梯度的范数通常被用来衡量模型参数的更新程度,也就是模型的学习进度。在训练初期,由于模型参数的初始值比较随机,梯度的范数可能会比较大,这是正常现象。随着模型的训练&…

你必须知道的TCP和UDP核心区别,快速搞懂这两大协议!

UDP与TCP详解1. TCP (Transmission Control Protocol) 概念 TCP(传输控制协议)是一种面向连接的、可靠的传输协议。它负责将数据从源主机传输到目标主机,并确保数据的完整性、顺序和正确性。 原理三次握手:在数据传…

机器学习——朴素贝叶斯详解 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[swift 外部干涉法 extension]

/*** Definition for singly-linked list.* public class ListNode {* public var val: Int* public var next: ListNode?* public init(_ val: Int) {* self.val = val* self.next = ni…

2025国庆Day3

模拟赛 T1 对每个ai开个桶分别算答案即可 注意long long T2 维护m个指针 倒着枚举l p1~pm维护第i个字符已匹配的下标 每次匹配修改一个前缀 复杂度O(n) 另外可考虑:T3 设dpi,j表示i子树内钦定返祖j次的方案数 将相邻向…

量子迁移计划启动:应对未来密码学挑战

荷兰国家安全与网络安全中心发布量子迁移指南,指出量子计算机将在2030-2040年间破解当前主流加密算法,呼吁组织立即行动转向量子安全密码学,保护信息机密性、完整性和可用性。启动量子迁移计划 新闻稿 | 2024年3月2…

找网站公司企业备案搭建微信网站怎么做

使用ArticleColumnForm表单,向数据库提交内容,内容包括column。如果同一用户提交的column重复,则提示表单出错,表单提交失败后,重新渲染表单提交html页面,其中提示错误信息。 涉及的代码包括: …

HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包

HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包 Service Pack for ProLiant Gen12, Gen11, Gen10 Released Oct 2025 请访问原文链接:…

大模型原理与实践:第三章-预训练语言模型详解_第1部分-Encoder-only(BERT、RoBERTa、ALBERT) - 指南

大模型原理与实践:第三章-预训练语言模型详解_第1部分-Encoder-only(BERT、RoBERTa、ALBERT) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

详细介绍:Linux字符设备驱动开发全攻略

详细介绍:Linux字符设备驱动开发全攻略pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

河南焦作有做网站开发的公司吗连云港今天的新消息

11月12日,由金蝶软件(中国)(以下简称“金蝶”)主办的2022全球创见者大会之“对标世界一流管理——走进一心堂暨生命科学行业峰会”在云南昆明顺利举办。金蝶携手众多企业经营管理者,业界思想领袖及先锋企业…

深入解析:uniapp集成语音识别与图片识别集成方案【百度智能云】

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

sql注入和xss漏洞

1、复习信息搜集中的Google hack语法,随机找10个php网站的后台地址 2、简述sql注入漏洞的原理及危害 原理:由于后端程序员未对用户输入的字符进行严格控制和过滤,导致黑客可以在后台程序员不知情的情况下注入SQL语法…

威海建设局官方网站长沙室内设计工作室

加载指定会话最近消息 前言 上一集我们就把三个标签页的加载列表的任务给完成啦!那么我们这一集就来完成加载指定绘画最近消息的任务。 需求分析 我们点击了某个会话之后,我们就会去显示我们的会话的最近的N条消息。请看下图。 我们这里涉及到两个区…

大连企业网站建设模板wordpress 设置语言

http://www.elecfans.com/article/89/92/2017/20170425510728.html转载于:https://www.cnblogs.com/jackn-crazy/p/7300228.html

数学 trick

基本不等式遇到 \(x=\dfrac{一次函数}{一次函数}\),考虑分离出一个常数: 例:(2024 浙江模拟)已知实数 \(x,y,x>3,xy+2x-3y=12,(x+y)_{\min}\)? 解:考虑分离 \(x,y\),由 \(xy+2x-3y=12\) 得到 \(x=\dfrac{12…