实体类中@TableField注解用途
1、 主要用来解决实体类的字段名与数据库中的字段名不匹配的问题(数据库user_addr,字段useraddr未驼峰)
2、 实体类中的属性字段在表中不存在的问题
// 用来解决数据库中的字段和实体类的字段不匹配问题
@TableField(value = "age")
// 用来解决实体类中有的属性但是数据表中没有的字段
@TableField(exist = false) // 默认为true
@TableName(value = …)
当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名(不加这个注解默认将实体类的小写形式在db中寻找)
@TableField 字段注解,该注解用于标识非主键的字段。将数据库列与 JavaBean 中的属性进行映射
在yml中开启驼峰命名法
字段填充策略 FieldFill
@Mapper注解,目的就是为了不再写mapper映射文件,是注解开发时用的。
mapper映射文件是sql映射文件,是mybatis框架中十分重要的文件,可以说,mybatis框架的强大之处就体现在映射文件的编写上。mapper.xml映射文件主要是用来编写sql语句的,以及一些结果集的映射关系的编写,还有就是缓存的一些配置等等。
@Service注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了
MVC与传统三层架构区别联系
三层架构与MVC的区别_变成秃头怪的博客-CSDN博客_三层架构和mvc的区别
@controller
在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。
HTTP常用请求方式
get:可以理解 为 取 的意思,对应select操作用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除等操作。说明:get请求会把请求的参数附加在URL后面,这样是不安全的,在处理敏感数据时不用,或者参数做加密处理。get请求其实本身HTTP协议并没有限制它的URL大小,但是不同的浏览器对其有不同的大小长度限制
post:数据发送到服务器以创建或更新资源,侧重于更新数据,对应update操作 说明:post请求的请求参数都是请求body中
put:可以理解为 放 的意思 数据发送到服务器以创建或更新资源,侧重于创建数据,对应insert操作。
Axios:(简化Ajax书写及封装)
1.什么是session:
服务器会给每一个用户(浏览器)创建一个session对象一个session独占一个浏览器,只要浏览器不关闭,这个session就一直存在,session称为会话控制,存储用户会话所需的属性和配置信息,这样,用户在应用程序的web页面跳转时,存储在session对象中的用户信息不会丢掷,而是在整个用户会话中一直保持下去
2.session的经典应用场景:
一个用户登陆后,访问该网站的其他网页时,一直处于登录状态,保存购物车信息等
request和response
request对象是服务器对浏览器请求的封装,而response是服务器对服务器响应的封装。
使用注解@Configuration,告诉Spring Boot这是一个配置类。功能就是将想要的组件添加到容器
一个bean,对应一个类。他们是一对一的。@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理,@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用 @Component注解的类里。添加的bean的id为方法名
@RestController
是@controller和@ResponseBody 的结合,@Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。@ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端。
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
@RequestMapping注解是用来映射请求的,即指明处理器可以处理哪些URL请求,该注解既可以用在类上,也可以用在方法上。
当使用@RequestMapping标记控制器类时,方法的请求地址是相对类的请求地址而言的;当没有使用@RequestMapping标记类时,方法的请求地址是绝对路径。
@RequestBody接受的是一个json格式的字符串,一定是一个字符串。
BigDecima: 如果在数值计算中需要精确的结果,不允许有这种舍入误差,那么就需要使用BigDecima类。BigDecimal是java.math包中的一个类,这个类可以处理任意长度数字序列的数值,实现了任意精度的浮点数运算。类似BigDecima,还有一个Biglnteger,实现了任意精度的整数运算。
ajax请求是异步无刷新的,是异步请求,页面不刷新
页面发送请求后不必等待后端的响应,继续做自己本身还有的操作
拦截器:主要使用的是springmvc的拦截器。
对于jquery的学习:jQuery 教程{
一、基本实例:
<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>
//document对象是HTMLDocument的一个实例,表示整个HTML页面
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>如果您点击我,我会消失。</p>
<p>点击我,我会消失。</p>
<p>也要点击我哦。</p>
</body>
</html>
}
地址簿
Nginx
nginx的反向代理是指代理服务器的响应,而一般的正向代理是代理用户的请求。在html目录下防火墙关闭的命令systemctl stop firewalld
Lambda表达式
一个接口里只有一个方法时可以使用Lambda表达式。例子:
return的使用
Serializable接口 Serializable接口是启用其序列化功能的接口。实现java.io.Serializable 接口的类是可序列化的。没有实现此接口的类将不能使它们的任意状态被序列化或逆序列化。
箭头函数的语法为 (参数) => { 函数体 }
。案例:then(() => { deleCategory(id).then(res => { if (res.code === 1) { this.$message.success('删除成功!') this.handleQuery() } else { this.$message.error(res.msg || '操作失败') } })
未简化前代码:
then(function() {
deleCategory(id).then(function(res) {
if (res.code === 1) {
this.$message.success('删除成功!')
this.handleQuery()
} else {
this.$message.error(res.msg || '操作失败')
}
})
})
在pom文件中配置依赖后再去静态资源映射中配置swagger注解和一些swagger扫描和路径,然后运行项目在浏览器输入路径生成一个本项目api文档。
shiro安全框架:
redis相关使用:
redis有五种数据类型:string,hash,list,set,sorted set。
仅是针对终端使用,如果在cmd中,先启动redis-server,然后再启动redis-cli,在redis-cli终端窗口操作相关命令。
仅是针对桌面可视化使用,使用redis-desktop工具。
如果是集成java使用,在pom文件导入data-redis相关依赖,在yml文件中配置连接端口和密码,然后再创建一个的配置类,配置类继承CachingConfigurerSupport类,最后使用时需要注入RedisTemplate,使用这个自带的set和get方法。
如果是常规的使用,首先是对于实体类,要加上@RedisHash,这是命名redis名字,然后创建一个接口继承CrudRepository接口,在测试类中中使用相关接口自带的save方法就可以保存到redis中。
SpringBoot整合JPA
JPA就是在实体类中加入注解,表明实体类与数据库表是映射的关系。
创建接口时是继承jparepository接口,这个接口是有相关的增删改操作。
rabbitMq:消息中间件,消息就是处理请求,当用户发送请求,请求会进入这个消息中间件,然后他直接响应给用户不用等待,而相关的这个请求操作,比如发短信等连接的是消息中间件。其中kafka也是消息中间件。
5.激活RabbitMQ的插件,并重新启动
命令:rabbitmq-plugins.bat enable rabbitmq_management
重启方法:
net stop rabbitmq -关闭服务
net start rabbitmq -开启服务
使用rabbitmq,有五种模式,RabbitMQ的五种工作模式超详解_rabbitmq工作模型_金鳞踏雨的博客-CSDN博客
主要是在yml文件中配置连接。
会话跟踪:这两个技术都可以实现会话跟踪,它们之间最大的区别:Cookie是存储在浏览器端而Session是存储在服务器端。我们现在使用的是注解配置Filter,而这种配置方式的优先级是按照过滤器类名(字符串)的自然排序。比如有如下两个名称的过滤器 : `BFilterDemo` 和 `AFilterDemo` 。那一定是 `AFilterDemo` 过滤器先执行。Listener 表示监听器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。