添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
美好的一天,亲爱的读者!很高兴认识你,即使这个浮夸的名字是我们研究关于第一次接触 Spring Boot 开发的朴素话题的主要原因。我想分享一下我在 JavaRush 门户网站上完成实习介绍性作业的经历,从一个完全普通的技术大学生的角度来展示自己的概述,他想要测试自己所积累的知识的强度。 征服春季靴 - 1 我绝不否认所附代码或思维方法可能存在粗鲁之处,我欢迎建设性的批评,因为正是有了“坎坷和碰伤”,才有可能向专业方向发展。而且,我根本不会假装自己是解决给定条件的“万能药”,故意省略程序的各个片段,让进入一个相对复杂的话题的关键重要性不至于对神经系统产生丝毫影响。确实,否认显而易见的事实是鲁莽的:这对我来说很难,直到某个时刻之前绝对没有任何事情是清楚的。如果您在第一次执行任务时也有类似的感受,那么“欢迎!” 让我们在 Spring Boot 中编写一个 Web 应用程序,使用实习入学考试的简化类比,使用模板引擎 Thymeleaf query 查询本地 MySQL 服务器来过滤传入的信息数组。那么让我们开始吧!

春季启动。它是什么动物以及如何烹饪?

简而言之,它是 Pivotel 的一款优秀工具,可以在创建应用程序的过程中节省宝贵的时间,无需直接连接第三方库、编写令人印象深刻的映射画布和 servlet。 使用Spring Initializr 构建器就足够了,它集成到 IntelliJ IDEA Ultimate Edition中(文件 - 新建 - 项目... - Spring Initializr)或位于 start.spring.io Web 服务上,指定要包含的各种包优惠。 按照提出的技术规范,我们将使用绅士设定的标准,使用 MySQL 数据库创建一个简单的 Web 应用程序:
  • WEB 是开发Web应用程序的主要组件,包括位于标准地址localhost:8080的本地Apache Tomcat服务器和通用的 Spring MVC框架。
  • DevTools - 当在编译的代码或模板中检测到更改时,用于在热 JVM 中快速重新启动应用程序;此外,如果项目中包含所选引擎,它可以使 Thymeleaf 免于清除缓存。
  • JPA 是一种使用数据库所需的技术,它提供 Java 对象的对象关系映射,提供用于管理、保存和检索实体的 API(在我们的例子中为 Hibernate )。
  • Thymeleaf(Mustache、AngularJS、Vaadin 等) - 用于应用程序可视化的模板引擎;由于我对 html 原理相对熟悉,我选择了 Thymeleaf,它将该语言推向了世界的基石。
  • MySQL - 连接 Java 数据库连接驱动程序以对数据库执行 SQL 查询。
  • 在最终选择组件并创建之后,我们得到了一个普通的 Web 应用程序架构,其中的目录可供进一步填充。用于与视觉部分交互的片段,无论是 CSS 图形样式、标准 HTML 页面还是 JavaScript 功能,都应位于“resources”中,因此后端组件应放置在“java”中。我们还应该注意根范围内的pom.xml文件,它存储了项目结构和组件之间的依赖关系。如果你想用额外的包进一步扩展功能或者删除不必要的东西,你应该 <dependencies></dependencies> 按照类似的方法在标签之间进行操作。

    迈向美好未来的第一步

    接下来,出现了一个相当有趣且非常合乎逻辑的问题:“现在该怎么办?这将如何运作?该程序建立在模型-视图-控制器的原则之上:它组织从连接的数据库(模型)中读取实体,并通过控件(视图)显示在用户界面中;组件之间的通信以及根据传输的请求执行操作是通过控制器进行的。关键要素的创建可作为持续发展的参考点。为了避免滑坡,维护工作领域战友的尊重,应将组件放置在适当的目录中(例如将Controller文件放置在“java”分支的controllers文件夹中),并小心保存工作场所秩序。

    本质是一个大机制中的一个小部分

    或者换句话说,我们的模型根据问题中设定的条件。离开讨论的主题,回到介绍性项目,我们可以自信地断言,任务之间的差异很小,并在进一步审查中遵循平均概念。比方说,笔记本中的笔记包括:
  • 用于确定在一般流程中的位置的识别号;
  • 一定字符数的短信;
  • 用户将其添加到常规列表的日期;
  • 用于确定“完成或未完成”(“读取或未读取”)的布尔变量。
  • 因此,让我们在名为“entity”的目录中创建一个 Note 类并添加适当的字段:
    另一个偏离讨论主题的问题是为了从理论立场更好地理解正在发生的事情。Spring中组件之间的连接是 通过注解来 指定的——对象前面的特殊指针,每个注解在机制中扮演着特定的角色,并以“@”符号开头。@Entity 注解向 Spring Boot 指示后续类数据属于“实体”,@Id 和 @GenerateValue 将选定的字段指定为标识符,并在处理信息数组时自动生成迭代器。我故意省略添加标准的 Getter 和 Setter 以增加视觉格式的紧凑性。接下来,考虑到使用数据库来存储记录,我们进入应用程序开发的下一步:我们将在“repository”目录中创建 NoteRepository 接口,作为交换链中的连接元素,并继承最适合进一步工作的存储库,指示要访问的存储实体和整数迭代器。
    事实上,仅此而已。简洁明了。现在 Spring Boot 将使用创建的组件来组织与数据库的交互。遗留存储库的类型相对较多,具有不同的行动潜力。JpaRepository处于阶梯的最顶端,最有潜力,包括下面的CrudRepository和PageAndSortingRepository。我们不会再进一步​​偏离主题,因为一些微妙之处可以在 Pivotel 网站的技术文档中找到。现在,在应用程序端实现数据镜像并指定通信方式后,您需要注意在适当的外部环境“MySQL Workbench”中创建MySQL数据库,该数据库在官方开发人员的程序集中预安装在桌面平台上带有用于创建本地服务器的附加包: 接下来,单击主窗口中当前本地服务器的图标后,按照环境的指示,根据实体的字段(注)创建一个表格图,并填充适当的数据。有必要单独厘清MySQL方言的微妙之处,迫切需要引起重视才能顺利达到预期的结果:
  • 没有单独的布尔类型本身。任何请求处理动作都会将“true”或“false”分别转换为位值“1”或“0”;
  • 日期完全存储在 Timestamp 类型中。如果您使用核心熟悉的日期,您将不得不将自己限制在日历中的位置。
  • 最终完成准备步骤后,我们点击工具栏上的“闪电”图标,指示“MySQL Workbench”将数据发送到本地服务器。现在,如果添加信息正确完成,我们可以通过将当前数据库配置添加到 application.properties (通常位于“resources”目录中),自信地返回到本机 IDE 继续开发:
    最后使用注释将 Note 实体绑定到 MySQL。@Table 表示使用具有选定名称和架构的表,@Column 表示变量属于特定字段。