仿牛客网社区项目总结 第一章

本文详细介绍Maven、Spring、SpringMVC、SpringBoot等JavaWeb核心框架的概念与应用场景,包括Maven依赖管理、Spring轻量级容器特性、SpringMVC分层架构及SpringBoot简化配置的优势。

学习仿牛客网社区项目

代码&资源

各章节总结
第一章
第二章
第三章
第四章
第五章
第六章
第七章
第八章

Maven

什么是Maven?

一个大型的 Web 项目,需要依赖很多第三方类库,不同 Jar 包之间还有复杂的依赖关系;这时,Maven 出现了,我们只需要告诉它需要的 Jar 包,它会帮我们自动下载并管理它们。
Maven就是这样一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。

Maven的核心思想?

约定大于配置。Maven会约定一些规则,不能违反,比如项目的目录结构。

Spring

什么是Spring?

Spring是一个轻量级的容器(框架),如果加上定语:
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。

Spring全家桶的组成?

Spring的组成

  1. Spring Framework:Spring的核心;
  2. Spring Boot:构建项目,可以用它快速开发单个微服务;
  3. Spring Cloud:协调微服务,可以将一个大项目拆分成多个小项目分而治之;
  4. Spring Cloud Data Flow:连接数据源,集成多个平台数据。

再深入到Spring Framework

Spring Framework
Spring由二十多个小模块组成,下面只列举这个项目中用到的技术栈,更详细的介绍请转场

  1. Core Container(核心容器)
    • 控制反转(IoC)
  2. Data Access(数据访问)
    • Spring MyBatis
  3. Web(Web开发)
    • Spring MVC
  4. Data Integration(数据集成)
    • Email:发邮件
    • Scheduling:定时任务
    • AMQP:消息队列
    • Security:安全控制

什么是IoC?

控制反转(IoC)是一种管理对象 Bean 的设计思想,它将手动创建 Bean 对象的权力交给 Spring 框架。这样我们在创建对象时就只需要添加相应的注解或配置文件,而不用考虑如何创建它。
它的优点:降低耦合,我们在将Bean对象交给容器管理时,需要对象的定义和配置文件,各对象之间的关系在配置文件中声明,不会直接产生耦合。

IoC补充知识

依赖注入(DI):是IoC的实现方式;
IoC容器(IoC Container):是依赖注入的关键。本质上是一个工厂,数据结构是Map。

对象Bean如何使用?

Bean常见的四种注解:
@Controller
@Repository
@Service
@Component
如何使用Bean:
使用依赖注入:@AutoWired

Spring MVC

为什么要引入Spring MVC?

在早期 Web 开发中,控制层、业务层和数据访问层均交给 JSP 或 Java Bean 处理,这样做的弊端:

  1. JSPJava Bean严重耦合;JavaHtml耦合;
  2. 技术人员除了需要 Java 知识,还需要前端技术栈才可以工作;
  3. 前端依赖后端,后端依赖前端,工作效率很低;
  4. 代码复用性差;

什么是Spring MVC?

M 代表模型(Model):模型就是数据,如:dao , bean
V 代表视图(View):视图用于展示数据,如:网页,JSP
C 代表控制器(Controller):控制器用于接收用户请求,将不同的数据展现在不同的视图上。

Spring MVC的架构?

Spring MVC
参考文章中红字部分为控制层。但课程中的讲解应该是表现层!
而 MVC 三者都属于该表现层。
补充一个小知识点:模板引擎Thymeleaf:用于生成动态Html。

项目开发顺序!

了解了MVC的基本原理,大概的开发顺序就跃然纸上。
开发顺序与调用顺序相反,这个很好理解,因为后面的依赖前面的。
Dao -> Service -> Controller
开发顺序

  1. entity:开发属性名;
  2. Dao:写接口,定义方法头;
  3. Mapper:写配置文件.xml,实现接口,Bean对象生成;
  4. MapperTests:添加AutoWired注解注入Mapper,测试Bean;
  5. service:添加Service注解,还要添加AutoWired注解注入Mapper,开发业务代码,根据不同逻辑返回值,将返回值交给controller;
  6. controller:添加Controller注解,同样要注入Mapper,根据service传过来的不同返回值处理请求,将查询到的数据通过model传给模板;
  7. .html:模板就是html文件,将数据渲染为视图View展示给用户。

Spring Boot

什么是Spring Boot?

一个Java Web的开发框架,和Spring MVC类似。但其实Spring Boot也不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。
演化过程:J2EE -> Spring -> Spring Boot

Spring Boot的核心思想?

约定大于配置。默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。

Spring Boot的优势?

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

调试技巧

响应状态码有哪些?

  • 2开头:成功响应;
  • 3开头:重定向,向浏览器返回需要再次访问的地址,浏览器再次访问。重定向的作用:使用一种低耦合的方式实现功能的跳转;
  • 4开头:客户端响应失败;
  • 5开头:服务器已经接收请求,但响应失败

通俗理解日志?

相当于你买一台车,打日志就是上车险,没人愿意打日志,但如果项目出错,它就很有用。

如何调试?

先打印日志,分析;
如果还是不行,根据响应状态码定位是客户端还是服务端的问题,确定之后打断点Debug。

Git

commit、push、pull是什么意思?

  • commit:提交到本地数据库;
  • push:同步到远程数据库;
  • pull:将服务器的代码拉取到本地;
  • update:pull时如果发现代码冲突,会弹出一个解决冲突的窗口,在这里解决;

Git 回退的三种类型?

  • mixed:为默认值,等同于git reset。将文件回退到工作区,此时会保留工作区中的文件,但会丢弃暂存区中的文件;

  • soft:将文件回退到暂存区,此时会保留工作区暂存区中的文件;

  • hard:将文件回退到修改前,此时会丢弃工作区暂存区中的文件;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值