今日份的学习笔记:2021.08.12
Posted 阿凡你振作一点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今日份的学习笔记:2021.08.12相关的知识,希望对你有一定的参考价值。
今日份的学习笔记:2021.08.12
Jeesite 4.0 学习笔记(四)
我的第一个Jeesite模块项目
以图书目录管理的单表生成功能(增删改查)为例
01 部署成功后登录进入主页
02 在利用navicat或sqlyog在mysql中建立增删改查的对象的对应数据表
03 研发工具 ——> 代码生成工具中选择新增,开始进行代码生成
(1)选择新建的数据表
(2)基本信息配置
(3)字段信息配置
(4)生成信息配置
注释,
统一的生成包路径按缺省即可
生成基础路径需要改为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的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段