1.vo层:前后端业务交互还有一层,后端服务器与前端ajax形成的json串之间的转换.
2.controller 调用接口, service实现接口.
3.子级继承父级的jar包,继承只能继承jar包文件,不能继承类.
4.工具API中的java文件最终打包成API.jar文件,被用户管理系统依赖.工具API也需要jar包文件的支持,所以是继承关系.
5.父级工程是一种结构,没有Java代码,不需要执行运行,所以不需要build标签.
6.Pojo是和实体表进行关联的类.common里面是pojo和vo
7.在jt_manage里面添加了jt_common工具API的依赖,
8.@TableField(exist = false) 注解加载bean属性上,表示当前属性不是数据库的字段,但在项目中必须使用,这样在新增等使用bean的时候,mybatis-plus就会忽略这个,不会报错
9.Template是模板工具API对象.
10.export default{}这是在复用组件的时候用到的。假设我们写了一个单页面组件 A 文件,而在另一个文件 B 里面需要用到它,那么就要用 ES6 的 import/export 语法 ,在文件 A 中定义输出接口 export ,在文件 B 中引入 import ,把引入的组件用起来,这样就可以复用组件 A 去配合文件 B 生成 html 页面了。。export命令用于规定模块的对外接口,该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。但是一个js文件中只能有一个export default.里面就是定义组件的属性.default是组件的标题.
11.只要是有关用户输入的内容就一定要在data中定义属性.username等等.
12.Input的标签,参数name:同样是表示的该文本输入框名称。参数value:输入框中的默认值. <input type="button" name="yourhiddeninfo" value="提交" >就是代表按钮上有提交两个字.
13. This代表vue属性.<form>标签之中有一个ref属性的话,ref代表当前表单的引用对象.
This代表的是当前组件对象(在vue之中).组件的使用必须有vue对象的渲染. this.$refs.loginFormRef代表获取当前的表单对象.$代表的是获取vue对象的属性.
14.form表单提交是post类型.
这个validate的参数valid是传回来的一个返回值,这是一个回调函数,只用了其中一个参数,校验成功返回的是true.
15.响应数据SysResult对象,就是vo对象,就是后端和页面交互的媒介.定义好方法之后,由controller层调用该方法,返回值return(因为定义controller类的方法参数类型是SysResult类型)得到的是三个参数传给前端.
16.注解:requestmapping(“/user”) 在controller层,含义是抽取公共的请求.
17.@EnableAspectJAutoProxy启动aop的注解 创建代理的对象 在springboot中不用写.
@Aspect表名这是一个切面
@RequestBody将json字符串转化为java对象格式
@restcontrollerAdvice定义全局的异常处理,拦截controller层.表明传回去的是一个字符串.@controllerAdvice
@ResponseBody//返回对象的json串 写了它 就不走视图解析器了
@ExceptionHandler({RuntimeException.class}) 拦截异常处理器
spring三者的区别:
Javabean的概念:1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
spring的注解:@Configuration注解 @Value @Controller, @Service, @Repository,@Component @Autowired@RequestBody@CrossOrigin@RequestParam@PathVariable@RequestBody@RestController = @Controller + @ResponseBody。@GetMapping和@PostMapping@RequestMapping
16.用户的登录界面重定向到登录界面时候,令牌就会消失,那么在home界面就不知道是哪个用户登录的了,那么如何保存用户的登录凭证token呢?
获取用户的token信息,
window.sessionStorage.setItem('token',token)将token放到服务器的session中,
将页面重定向到home页面.this.$router.push('/home')
push就是重定向的意思
Router对象归vue管,要想调用vue中的组件,用$.
17.如果用户没有token,就不能访问其他页面.token有数据,就能继续访问,如果没有token,跳转到登录页面,那么如何拦截请求呢?使用路由导航机制.先定义路由对象,再定义导航守卫.
router.beforeEach()表名所有的路由请求都要进行遍历,都要进行拦截.
To就是要访问的请求路径.from表示从哪个页面跳转而来.next表示请求放行.
18.路由让构建单页面应用变得更加易如反掌。
其实,单页面应用,就是把整个项目的所有页面的所有内容分成了很多的小块(就是组件)可以重复利用的,可以任意调整的组件,每个组件就是一个独立的部分(包括html,css和javascript代码)。再做一个html(基本上啥也没有),这个html就是一个页面容器,需要放那个组件时,直接引入就行。跳转时,直接跳转组件就行。当需要加载某个组件时,js会动态创建这些组件里的HTML,CSS。
19.不能直接访问d盘下的什么吧,所以要准备一个前端服务器.
29.路由拦截的组件
21.路由的组件提供了重定向的功能,可以让用户默认跳转指定的组件。用户访问的根目录,代表默认路径。点击回车,默认跳转别的路径(回车以后页面网址也变了,由前面路径改为重定向的丼)。路径有了,相应的组件也展现成功了。
22.父子路由之间不能算广义上的重定向的关系,导航守卫是平级路由之间的重定向关系.
23. window.sessionStorage.setItem('token',token)
将用户的token信息存储到session中,不存储到session之中的话,由于导航守卫的拦截,就不会成功登陆到home界面.但是不加导航守卫的话,没有令牌也可以成功登陆home界面.
session中的信息只有关闭当前页面,才会消失.
24.属性绑定用: 方法用@.
25.获取分页相关的所有数据,分页的结果,每页的条数,总数等信息。
告诉当前页,每页的条数。
26,前端发送的数据要用一个类型接收,所以要先定义这个类型用来接收.PageResult 对象,前端传过来的是什么名字的数据,后端这个类里面就封装什么类型的属性.
27.分级结构要先写mapper层,再写service层,最后写controller层.
28.一个事件一个方法.
29,涉及到restful风格,
30.斜杠与反斜杠都代表路径.但是在Windows系统中,能识别反斜杠斜杠,在Linux系统中只能识别反斜杠.在Windows系统中,反斜杠代表一个斜杠.\\反斜杠才表示转译.
一刷新导航栏就有数据了,钩子函数导致的 mounted created
31,common里面的vo对象是用来接收前端传过来的数据的一个容器~!!!!!!!!!!!!!!!是和前端交互的,pojo是和后端交互的!!!!! 赋值到pojo里面才能存进数据库里,通过调用接口的方法.方法里面传的参数就是pojo文件里的.
32.接收传过来的数据 先进了ItemVO,再进了itemparam,最后进了itemparamvo,.只要是传递过来的数据是有对象的地方,就要新建一个对象类接收它,和数据库操作有关的就写在common的pojo里面,和前端数据交互的,不管是接收前端传过来的数据还是传回去前端数据,都要只用common里面的vo对象,和全局设置无关的vo类,要写在mapper文件里面.!!!!!!!!!!!
32.如果入的是不同的库,那么在service层的实现类里面就要定义不同的属性,@Autowired./
33.如果是get请求,对象就不用注解.
34.Js中,操作的所有对象都是dom对象,对象里面的元素就是element元素.
35::data里面有循环遍历,只需要在prop中写username数据就展现出来了.:options表示数据来源
36:map.get得到的是value
37.delete 删除
get /查询
put 修改
post(表单对象传过去要用@RequestBody接收) 新增/提交都用post
38.只要是有v-model的地方:必须data里面要有属性信息!!!!!!!!!!!!!!!!