Javaweb开发学习总结

前端技术

  1. HTML (HyperText Markup Language)

    • 作用:HTML是网页内容的标准标记语言,用于定义网页的结构和内容。
    • 特点:它由一系列元素(或称为标签)组成,这些元素可以是文本、图片、链接等。HTML不负责样式或交互,只负责内容的结构化展示。
  2. CSS (Cascading Style Sheets)

    • 作用:CSS用于设置HTML元素的样式,包括布局、颜色、字体和动画等。
    • 特点:CSS通过选择器来定位HTML元素,并应用样式规则。它支持多种布局模式,如Flexbox和Grid,使得页面设计更加灵活和强大。
  3. JavaScript

    • 作用:JavaScript是一种脚本语言,用于为网页添加交互性。
    • 特点:通过JavaScript,可以响应用户操作(如点击、滚动等),动态修改页面内容,以及与服务器进行异步数据交换(Ajax)。
  4. Vue.js

    • 作用:Vue是一个渐进式JavaScript框架,用于构建用户界面,特别适合用来创建单页应用(SPA)。
    • 特点:Vue的核心库只关注视图层,易于学习和集成。它使用响应式数据绑定和组件系统,使得数据和视图的管理更加高效。
  5. Element UI

    • 作用:Element UI是基于Vue 2.0的桌面端组件库。
    • 特点:提供了一系列预制的UI组件,如按钮、输入框、对话框等,这些组件具有美观、易用的特点,可以加速前端开发。
  6. Nginx

    • 作用:Nginx是一个高性能的HTTP和反向代理服务器,常用于Web服务器和负载均衡。
    • 特点:以其高稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。Nginx也常用于静态资源的托管和反向代理设置。

后端技术

  1. Maven

    • 作用:Maven是一个项目管理和构建自动化工具,主要用于Java项目。
    • 特点:通过pom.xml文件来管理项目的构建、报告和文档。Maven支持依赖管理,确保项目中使用的所有库都是最新且兼容的版本。
  2. MySQL

    • 作用:MySQL是一个关系型数据库管理系统,用于存储、检索和管理数据库信息。
    • 特点:它是一个开源的数据库,支持广泛的应用程序,提供高性能、可靠性和易用性。
  3. Spring Boot

    • 作用:Spring Boot是一个基于Spring框架的项目,用于简化新Spring应用的初始搭建以及开发过程。
    • 特点:通过“约定大于配置”的原则,Spring Boot可以自动配置Spring和第三方库,使得开发者可以快速启动和运行Spring应用。
  4. MyBatis

    • 作用:MyBatis是一个半自动的ORM(对象关系映射)框架,用于将Java对象映射到数据库表和行。
    • 特点:MyBatis提供了映射SQL语句的灵活性,允许开发者编写自定义的SQL查询,同时减少了模板代码的编写。

使用Spring Boot开发应用程序步骤:

  1. 初始化项目

    • 使用Spring Initializr(https://start.spring.io/)或类似工具快速生成项目结构。
    • 选择所需的依赖项(如Spring Web, JPA, MyBatis, Thymeleaf等)。
  2. 项目结构

    • 确认项目结构,通常包括src/main/javasrc/main/resourcessrc/test/java等目录。
  3. 配置文件

    • src/main/resources目录下创建或修改配置文件application.propertiesapplication.yml
  4. 定义实体

    • 创建与数据库表对应的实体类,使用JPA注解(如@Entity@Table等)。
  5. 创建数据访问层

    • 定义Mapper接口,定义了与数据库表相关的操作,如增删改查(CRUD)操作。
  6. 编写业务逻辑

    • 创建Service类,包含业务逻辑和事务管理。
  7. 构建控制器

    • 创建Controller类,处理HTTP请求和响应。
  8. 编写DTO

    • 如果需要,创建数据传输对象(DTO)类,用于封装从客户端接收的数据或向客户端发送的数据。
  9. 异常处理

    • 定义全局异常处理器,使用@ControllerAdvice注解。
  10. 配置类

    • 创建配置类,使用@Configuration注解,定义Bean和配置信息。
  11. 安全性

    • 如果需要,添加Spring Security配置来保护应用。
  12. 编写单元测试

    • 编写单元测试和集成测试,确保代码质量。
  13. 数据库迁移

    • 使用Flyway或Liquibase等工具管理数据库迁移。
  14. 集成测试

    • 编写集成测试,测试应用的各个部分是否协同工作。
  15. 打包和部署

    • 使用Maven或Gradle构建项目,生成JAR或WAR文件。
    • 部署到服务器或云平台。
  16. 监控和日志

    • 集成监控和日志工具,如Spring Boot Actuator和ELK堆栈。

常见文件和目录

  1. src/main/java

    • 存放主要的Java源代码,包括控制器、服务、组件、配置类等。
  2. src/main/resources

    • 存放资源文件,如配置文件(application.properties 或 application.yml)、Spring Boot的配置文件(spring-config*.properties)、静态资源(如HTML、CSS、JavaScript)等。
  3. application.propertiesapplication.yml

    • 应用配置文件,包含应用的配置参数,如数据库连接、端口号、第三方服务的API密钥等。
  4. pom.xmlbuild.gradle

    • Maven或Gradle的构建配置文件,定义了项目的依赖、插件、构建脚本等。
  5. SpringBootApplication

    • 主应用类,通常使用@SpringBootApplication注解标注,作为Spring Boot应用的入口。
  6. 控制器(Controllers)

    • 处理HTTP请求的类,通常使用@RestController@Controller注解,包含处理特定路由的方法。
  7. 服务(Services)

    • 包含业务逻辑的类,作为控制器和数据访问层之间的中间层。
  8. 数据访问对象(Repositories)

    • 用于访问数据库的接口,通常继承JpaRepository或其他Spring Data接口。
  9. 实体(Entities)

    • 与数据库表对应的Java类,使用@Entity注解标注。
  10. 数据传输对象(DTOs)

    • 用于封装数据传输的类,通常在服务层与外部API之间传递。
  11. 异常处理器(Exception Handlers)

    • 处理和转换异常为响应的类,使用@ControllerAdvice注解。
  12. 配置类(Configurations)

    • 包含特定配置的类,如数据库配置、消息转换器配置等,使用@Configuration注解。

程序跳转流程

  1. 启动应用

    • 运行主应用类,Spring Boot应用启动。
  2. 加载配置

    • Spring Boot加载application.propertiesapplication.yml中的配置。
  3. 初始化Spring容器

    • Spring Boot创建和初始化Spring应用上下文,扫描组件、配置和自动配置。
  4. 监听端口

    • 应用监听配置文件中指定的端口。
  5. 接收请求

    • 客户端发送HTTP请求到应用。
  6. 路由处理

    • DispatcherServlet接收请求并根据URL和HTTP方法将请求路由到相应的控制器。
  7. 业务逻辑处理

    • 控制器调用服务层处理业务逻辑,可能包括调用数据访问层。
  8. 数据访问

    • 服务层通过Repository或DAO访问数据库,执行CRUD操作。
  9. 响应构建

    • 控制器构建响应对象,将数据封装到响应体中。
  10. 返回客户端

    • 构建好的响应通过DispatcherServlet返回给客户端。
  11. 异常处理

    • 如果处理过程中发生异常,异常处理器(如果有配置)将捕获并处理异常,返回相应的错误响应。
  12. 关闭应用

    • 应用停止时,执行清理工作,如关闭数据库连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值