#博学谷IT学习技术支持#
个人笔记后续会进行内容改进
细节:
1、代码不编译的时候随便改动下代码既可以
2、mybatis的mapper映射文件创建文件夹的时候跟Java创建的时候不一样,需要吧. 换成 /
3、全限定名。包名+类名
4、mybaits: 防止sql注入
#{id} 数据传参可以转换成?号
${id} 拼接参数
${}可以用在配置value注解上,引用配置文件的内容
5、sdk
6、@Conditionalonproperty注解:
@ConditionalOnProperty仅在存在环境属性且具有特定值的情况下才启用Bean注册。 默认情况下,必须定义指定的属性,并且不等于false。
7、rabbitm(springamqp)
简单类型的,两个定义bean来处理 (提供者发送的mq不会直接消费掉,需要消费者接收才会消费掉
1、Queue 队列
2、Binding 绑定 Bindingbuilder.bind(queue).to(Fanoutexchange)
3、FanoutExchange 路由
复杂的三个,直接在rabbitlistener注解上 (复杂的直接消费了
1、bindings=@QueueBinding( 定义绑定关系
value=@Queue(name=), 定义队列名
exchange=@Exchange(name=,type=Exchangetypes.), 定义交换机,fanout direct topic
key={“”}
字节和对象 rabbit可以传递独享消息,到那时需要反序列化转换一下:
流程:引入json序列化的坐标
创建一个MessageConverter类型的bea,new一个Jackson2JsonMessageConverter即可 后续的接收参数类型也要换成传递的参数类型
8、私有的方法只能在当前类中使用
9、lambda:使用前提:
要有一个接口
接口有且只有一个抽象方法
lambda格式:- 格式:
(形式参数) -> {代码块}
- 形式参数:如果有多个参数,参数之间用逗号隔开;如果没有参数,留空即可
- ->:由英文中画线和大于符号组成,固定写法。代表指向动作
- 代码块:是我们具体要做的事情,也就是以前我们写的方法体内容
- 组成Lambda表达式的三要素:
- 形式参数,箭头,代码块
10、继承:只能单继承 变量就近原则
成员变量,局部变量
当局部变量和成员变量冲突时要打印成员变量可以使用this关键字:this.a
打印父类的变量使用super。a
接口:可以多实现
多态:前提:
1、要有继承/实现关系
2、要有方法重写
3、父类引用指向子类对象
- nacos权重值默认0-1 设置为0可以实现平滑升级,不会有用户进行访问,后需升级好可以慢慢增加权重比例
12、
mongodb
集合等同于数据表
域等同于字段
文档等同于行
新增数据
db.表名称.insert({id:1,name:"lili"}) 固定格式{id:“”}
更新数据
db.表命。update({条件字段:条件字段的值},{$set:{更新的字段:字段的值}})
删除数据
db.remove({条件字段:条件字段的值})
查询数据
db.find({条件字段:条件字段的值}) 包含大于、小于、等于、或者、大于等于、小于等于
Spring整合mongodb
新增
查询数据
分页查询!!!
int page=1
int pagesize=2
创建Criteria对象的时候直接lt Criteria c=Criteria.where("age").lt(89)
创建Query对象
.skip 从第几条开始查询 ((page-1)*pagesize)
.limit 每页查询页数 (pagesize)
.with 升序降序 (Sort.by(Sort.Order.desc("age"))) 根据age降序pailie