今日份的学习笔记:2021.08.12

Posted 阿凡你振作一点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今日份的学习笔记:2021.08.12相关的知识,希望对你有一定的参考价值。

今日份的学习笔记:2021.08.12

Jeesite 4.0 学习笔记(四)

我的第一个Jeesite模块项目

以图书目录管理的单表生成功能(增删改查)为例

01 部署成功后登录进入主页

http://127.0.0.1:8980/js

02 在利用navicat或sqlyog在mysql中建立增删改查的对象的对应数据表

image-20210812002047571

03 研发工具 ——> 代码生成工具中选择新增,开始进行代码生成

(1)选择新建的数据表

image-20210812002238028

(2)基本信息配置

image-20210812005539592

(3)字段信息配置

image-20210812005606778

(4)生成信息配置

image-20210812005933041

注释,

统一的生成包路径按缺省即可

生成基础路径需要改为web工程的同级目录modules下以模块名命名的文件夹中,本次示例中为 ...\\jeesite4\\modules\\book

04 创建菜单,方便后续查看

05 在web的pom文件中添加如下依赖

		<dependency>
			<groupId>com.jeesite</groupId>
			<artifactId>jeesite-module-book</artifactId> <!--book替换为模块名-->
			<version>${project.parent.version}</version>
		</dependency>

06 完成

SpringMVC学习笔记(一)

SpringMVC工作原理

MVC 层次结构

发起请求 ——>

控制器Controller接收请求,相应处理结果,但没有业务逻辑,于是向Model请求进行业务处理 ——>

Model 中Service层进行业务处理,但model无法处理页面跳转,故返回一个数据模型给Controller ——>

Controller拿到数据模型,将Model 发送给View ,向view中填充模型数 ——>

视图View 将模型数据展示给用户 ——>

响应结果 ——>

SpringMVC核心执行流程图

流程概述

核心思想:MVC分层

第一步

前端发送HTTP请求到达前端控制器

一切的请求都要经过前端控制器,

第二步

前端控制器通过发送的请求 url 等,根据请求映射器找到对应的Cotroller

第三步

Controller中有对应的方法(RequestMapping等注解),调用方法并返回值

返回值返回到逻辑视图层,逻辑视图层并非真正的视图

第四步

逻辑视图到视图解析器解析为真正的视图

第五步

返回视图组件,通过response对象返回到前端

SpringMVC详细执行流程图

图例解释

DispatcherServlet

前端控制器/中央控制器

...servlet,启动在web.xml中进行配置

spring提供的servlet

HandlerMapping

请求映射器/处理器映射器

Controller

java类

HandlerExecutionChain

处理器执行链

包括 { HandlerInterceptor(处理器拦截器)、Handler(处理器对象) }

Springboot常见注解(一)

@Controller

@Controller表示在tomcat启动的时候,把这个类作为一个控制器加载到Spring的Bean工厂。

这就是Spring的包扫描机制。@Controller就是一个注解,
当tomcat启动,“ 我们会看到一些JAVA类挥舞着印有@Controller的旗子大喊:‘ Hey,SpringMVC,I\'m here,please take me to your bean factory! ’ ”

如果不加,这个类就只是一个普通的java类,和Spring没有关系。

@Controller用于标记标记一个类,将这个类标记为Spring MVC Controller对象,但只起到标记作用。
也就是说@Controller会告诉spring这个类是一个控制器。

@RestController

返回字符串

@RequestMapping

@RequestMapping("/index")

@RequestMapping用来映射URL到一个控制器类,
主要作用就是设定相对路径

RequestMapping的作用就是提供了一个句柄,让我们可以访问到对应的方法,最终获得我们想要的东西。
综合来说,RequestMapping就是一个映射路径。

@RequestMapping有8个属性。
value:指定请求的实际地址。
method:指定请求的method类型(GET,POST,PUT,DELETE)等。
consumes:指定处理请求的提交内容类型(Context-Type)。
produces:指定返回的内容类型,还可以设置返回值的字符编码。
params:指定request中必须包含某些参数值,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才让该方法处理请求。等。

@GetMapping

@GetMapping("")
组合注解:
    @getMapping = @requestMapping(method = RequestMethod.GET)

@PostMapping

@PostMapping("")
组合注解:
    @postMapping = @requestMapping(method = RequestMethod.POST)

@ResponseBody

注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区,通常用来返回 JSON 或者 XML 数据,返回 JSON 数据的情况比较多

说明这个方法返回的东西会通过IO流的方式写入到浏览器

@Override

01 可以当作注释用,感觉这个也不能说明什么,注释也没什么用。
02 可以告诉读代码的人,这是对它父类方法的重写,其实很多代码规范没有为什么,规范就是规范,代码的可读性还是很重要的。
03 编译器可以给你验证@Override下面的方法名称是否是你父类中所有的,如果没有就会报错。

比如当我们想要在子类中重写父类的一个方法,但是把名字打错了,如果我们写了@Override编译器会提示,我们写的这个方法父类中没有;但是如果没有写@Override,编译器就会觉得这个是子类中写的新的方法,并不会报错,到时候debug还是很麻烦的一件事。

@Autowired

@autowired注解来源于英文单词autowire,即自动装配。

自动装配指的一些工业上的用机器代替人口,自动将一些需要完成的组装任务,或者别的一些任务完成。而在spring的世界当中,自动装配指的就是使用将Spring容器中的bean自动的和我们需要这个bean的类组装在一起。

因此,该注解可以简单理解为:将Spring容器中的bean自动的和我们需要这个bean的类组装在一起协同使用。

以上是关于今日份的学习笔记:2021.08.12的主要内容,如果未能解决你的问题,请参考以下文章

今日份的BTC/ETH斩获成功

学习笔记:python3,代码片段(2017)

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

课程设计第二十一天,09.08

Java架构师人手一份的Spring Cloud Alibaba笔记,知乎疯转上万次!

Java架构师人手一份的Spring Cloud Alibaba笔记,知乎疯转上万次