忙碌了近半个月终于进入了项目组,开始了真正的学习,挑战。进项目组当然是实战开发做项目了,但是一个真正的项目开发所用的技术有哪些呢?目前我所学,所查,所了解的有
后端部分有:
前端部分有:
首先MVC的三个英文分别是:M(Model)指数据模型层,V(View)指视图层,C(Controller)指控制层。使用 MVC 的目的是将 M 和 V 的实现代码分离,使同一个程序可以有不同的表现形式。控制层负责前台与后台的交互,数据模型层封装用户的输入/输出数据,视图层选择恰当的视图来显示最终的执行结果。
总结如下:
视图层(View):负责格式化数据并把它们呈现给用户,包括数据展示、用户交互、数据验证、界面设计等功能。
例:在请求显示阶段,跳转的结果网页就属于视图层(View)。控制层(Controller):负责接收并转发请求,对请求进行处理后,指定视图并将响应结果发送给客户端。 例:用户在网页上单击一个 URL 路径,这对 Web
服务器来说,相当于用户发送了一个请求。而获取请求后如何解析用户的输入,并执行相关处理逻辑,最终跳转至正确的页面显示反馈结果,这些工作往往是控制层(Controller)来完成的。数据模型层(Model):模型对象拥有最多的处理任务,是应用程序的主体部分,它负责数据逻辑(业务规则)的处理和实现数据操作(即在数据库中存取数据)。
例:在请求的过程中,用户的信息被封装在 User 实体类中,该实体类在 Web 项目中属于数据模型层(Model)。
了解了MVC,Spring MVC了解起来就很方便了:
它是Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于
Servlet。主要的工作流程和MVC相同都是Controller 是来担负控制器的职责,用于接收请求,调用相应的 Model
进行处理,处理器完成业务处理后返回处理结果。Controller 调用相应的 View 并对处理结果进行视图渲染,最终客户端得到响应信息。
优缺点:这里不在过多阐述,详情请看https://blog.csdn.net/bbj1030/article/details/103078886这位博主的帖子,超详细。
1. 概念:
Spring 框架是一个分层的、面向切面的 Java 应用程序的一站式轻量级解决方案,它是 Spring
技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的。
2. 核心:
IOC 和 AOP。
IOC:Inverse of Control 的简写,译为“控制反转”,指把创建对象过程交给 Spring 进行管理。
AOP:Aspect Oriented Programming 的简写,译为“面向切面编程”。
AOP用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP
还解决一些系统层面上的问题,比如日志、事务、权限等。
3. 特点:
1.方便解耦: 简化开发Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。
2.方便集成各种优秀框架: Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如MyBatis)的直接支持。
3.降低 Java EE API 的使用难度: Spring 对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了封装,使这些 API 应用的难度大大降低。
4.方便程序的测试: 可以通过注解方便地测试 Spring 程序。
5.AOP 编程的支持: Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
6.声明式事务的支持: 只需要通过配置就可以完成对事务的管理,而无须手动编程。
1.背景:
由于Spring 应用需要进行大量各种 XML 配置和注解配置,使用起来非常困难,因此为了简化 Spring应用的搭建和开发过程,spring boot 孕育而生。
2.功能:
Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring Boot都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健壮。
3.特点:
- 独立运行的 Spring 项目: Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java–jar xx.jar” 即可运行。
- 内嵌 Servlet 容器: Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat),应用无需打成 WAR 包 。
- 提供 starter 简化 Maven 配置: Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。
- 提供了大量的自动配置: Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。
- 自带应用监控: Spring Boot 可以对正在运行的项目提供监控。
- 无代码生成和 xml 配置: Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。
1.概念:
MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 内部封装了 JDBC,简化了加载驱动、创建连接、创建 statement 等繁杂的过程,开发者只需要关注 SQL 语句本身。
2.核心:
将程序中的大量 SQL 语句剥离出来,使用 XML 文件或注解的方式实现 SQL 的灵活配置,将 SQL语句与程序代码分离,在不修改程序代码的情况下,直接在配置文件中修改 SQL 语句。
3.特点:
- MyBatis 是免费且开源的。
- 与 JDBC 相比,减少了 50% 以上的代码量。
- MyBatis 是最简单的持久化框架,小巧并且简单易学。
- MyBatis 相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL 写在 XML 中,和程序逻辑代码分离,降低耦合度,便于同一管理和优化,提高了代码的可重用性。
- 提供 XML 标签,支持编写动态 SQL 语句。
- 提供映射标签,支持对象与数据库的 ORM 字段关系映射。
- 支持存储过程。MyBatis 以存储过程的形式封装 SQL,可以将业务逻辑保留在数据库之外,增强应用程序的可移植性、更易于部署和测试。
1.概念:
Mybatis-Plus(简称 MP)是 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,支持 Mybatis 所有原生的特性,为简化开发、提高效率而生。
2.Mybatis 和 Mybatis Plus 的区别:
我觉得最大的区别是mybatis需要自己写sql语句但是在mybatis plus将简单的sql语句进行封装,使用时直接调用即可。
1.概念:
SSM框架是spring、spring MVC 、和mybatis框架的整合,是标准的MVC模式。 即:ssm=spring+spring MVC +mybatis 。标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。使用spring实现业务对象管理,使用springMVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。
1.概念:
是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue
的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
2.特点:
1.遵循MVVM模式
2.编码简洁,体积小,运行效率高,适合移动/PC端开发
3.它本身只关注UI,可以引入其它第三方库开发项目
3.MVVM模式:
MVVM即模型-视图-视图模型。模型指的是后端传递的数据;视图指的是所看到的页面。视图模型是mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将模型转化成视图,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将视图转化成模型,即将所看到的页面转化成后端的数据。实现的方式是:DOM事件监听。这两个方向都实现的,我们称之为数据的双向绑定。
4.项目结构:
build
---index.js webpack配置文件【很少修改这个文件】
mock
---mock数据的文件夹 模拟一些假的数据mock.js实现的,因为实际开发的时候,利用的是真实接口
node_modules
---项目依赖的模块
public
---ico图标,静态页面 public文件夹里面经常放置一些静态资源,而且在项目打包的时候webpack不会编译这个文件夹,原封不动的打包到dist文件夹里面
src
---程序员源代码的地方
---api文件夹:涉及请求相关的
---assets文件夹:里面放置一些静态资源(一般共享的),放在assets文件夹里面静态资源,在webpack打包的时候,会进行编译
---components文件夹:一般放置非路由组件或者全局组件
---icons文件夹:放置了一些svg矢量图
---router文件夹:与路由相关的
---store文件夹:一定是与vuex相关的
---style文件夹:与样式相关的
---utils文件夹:request.js是axios二次封装文件
---views文件夹:里面放置的是路由组件
---App.vue:根组件
---main.js:入口文件
---permission.js:与导航守卫相关
---settings:项目的配置项文件
1.概念:
uniapp 是一个使用
Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/快手/钉钉/淘宝)、快应用等多个平台。
2.目录结构:
1.pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等
2.manifest.json 文件是应用的配置文件,用于指定应用的名称、图标、权限等。
3.App.vue是我们的跟组件,所有页面都是在App.vue下进行切换的,是页面入口文件,可以调用应用的生命周期函数。
4.main.js是我们的项目入口文件,主要作用是初始化vue实例并使用需要的插件。
5.uni.scss文件的用途是为了方便整体控制应用的风格。比如按钮颜色、边框风格,uni.scss文件里预置了一批scss变量预置。
6.unpackage就是打包目录,在这里有各个平台的打包文件
7.pages所有的页面存放目录
8.static静态资源目录,例如图片等
9.components组件存放目录
**
我知道实际开发过程中所使用的技术远远不止这些,而我所写的也都是皮毛,甚至有很多错误的地方,如有错误恳请大佬指教。
在框架学习的这条路上我知道我还很遥远,但是我会继续努力的!·