Spring
Spring因为之前重装系统忘记备份,放在c盘的代码和笔记(因为一般喜欢写到注释里),全没了。再加上一年没有敲代码,只能是从0开始敲一套完整的体系了。
安装与配置jar去这个网址下载,找最新版
下载后解压
解压后差不多是这个样子:
一堆jar
开发简单的Spring 必须用的5个jar
spring-aop、spring-beans、spring-context、spring-core、spring-expression
以及一个日志的jar
commons-logging
创建一个Java项目作为重新开始的第一个测试项目
这里IDE选用eclipse(简单好上手),提前装好sts插件。
编写“第一个”SpringIOC程序创建一个applicationContext.xml
创建一个实体Student
1234567891011121314151617181920212223242526272829package top.eshyee.entity;public class Student { private int stuNo; private String ...
Springboot
1.微服务: -一个项目 可以由多个小型服务构成(微服务)
spring boot可以快速开发微服务|
a.简化j2ee开发b.整个spring技术栈的整合c.整个j2ee技术的整个
准备:jdk:JAVA_ HOME: jdk根 目录path: jdk根目录\binclasspath: . ; jdk根目录\libmaven
MAVEN_ HOME: maven根 目录path: maven根目录\bin
配置Maven本地仓库: mvn根 目录/ conf/ setting. xml
目录结构resources: .static:静态资源(js css图片音频视频)templates:模板文件(freemarker , thymeleaf;默认不支持jsp)
appl ication. properties:配置文件
spring boot内置了tomcat, 并且不需要打成war再执行。
可以在appication. properties对端口号等服务端信息进行配置
spring boot将各个应用/三方框架设置成了一个个“场景”stater,以 ...
Spring 入门
Spring 入门简单工厂实例:学生学习课程
创建课程工厂、课程接口
123456package top.eshyee.newinstance;//课程接口public interface ICourse { public void learn() ;}
12345678package top.eshyee.newinstance;public class JavaCourse implements ICourse{ @Override public void learn() { System.out.println("java课程"); }}
123456789package top.eshyee.newinstance;public class HtmlCourse implements ICourse{ @Override public void learn() { System.out.println("html课程"); }}
...
Spring注解开发
Bean的作用域
作用域singleton
单例(默认值), 在每个SpringIOC容器中,一个bean定义对应一个对象实例
prototype
一个bean定义对应多个对象实例
request
在一次HTTP请求中,一个bean定义对应一个实例,即每次HTTP请求将会有各自的bean实例,它们依据某个bean定义创建而成。该作用域仅在基于Web的Spring ApplicationContext的情况下有效。
session
在一个HTTP Session 中,一个bean定义对应一个实例。该作用域仅在基于Web 的SpringApplicationContext的情况下有效
global session
在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于Web的Spring ApplicationContext的情况下有效
注解形式
1@Bean ("stu")
配置文件形式
12345678<bean id="student" cl ...
Queue
队列(Queue)是只允许在一端进行插入,在另一端删除的线性表。
队列的实现
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152typedef struct { //定义队列中元素最大个数 int data[MaxSize]; //用静态数组存放队列元素 int front, rear; //队头指针和队尾指针} SqQueue;void testQuene(){ SqQuene Q; }//初始化队列void InitQueue(SqQueue &Q) {//初始时队头.队尾指针指向0Q.rear=Q.front=0;}//判断队列是否为空bool QueueEmpty (SqQueue Q){if(Q.rear==Q.front) //队空条件return true ;elsereturn false;}//入队操作--只能从队尾插入#define M ...
Redis
RedisNosqlnot only sql 泛指非关系型数据库
Nosql的四大分类KV键值对
redis
文档型数据库(boson格式)
MongoDBMongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档!
MongoDB是一个介于关系型数据库和非关系型数据中间的产品
conchDB
列存储数据库
HBase
分布式文件系统
图关系型数据库
NEO4J
redis用途1、内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb、aof )
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量)
安装Windows下包 安装 运行
Linux1、官网下载压缩包
2、解压安装包
tar -zxvf redis-6.0.10.tar.gz
基本文件结构如下
安装gcc:yum install gcc-c++
在当前路径下make
完成后再make检查一下
123456789101112131415161718192021[root@Shyee redis-6.0.10]# makecd src & ...
需求分析
3-3需求分析案例“Android点餐系统”项目案例需求获取资料介绍如下:
(1)目标和范围本软件主要作用是为点餐者提供一套可以在移动设备(手机、平板)上运行的点餐软件。 系统分为前台和后台,前台是点餐者使用的,点餐者可以在移动设备上查看餐馆所有的菜目、价格、简单的菜品介绍以及餐馆的特色菜介绍,同时点餐者还可以查看、取消自己已经挑选的菜品,最后上传订单。后台是管理员使用的,管理员可以在后进行订单管理、用户管理、菜谱管理等。
(2)系统角色和职责系统的使用人群包括两类管理员:系统的维护,订单管理、菜品的增删。
普通用户:注册账号,点餐、座位预订。
(3)系统处理功能要求查询菜品设置菜品顾客下单订单处理数据处理
(4)系统其他要求本系统客户端要求符合大众操作习惯,与网上其他的Android系统App操作方式保持基本一致。餐馆要求每笔订单交易误差不得超过工角,每天交易额的误差不得超过100元。5年内价位在500元以上的Android手机都可以流畅运行该系统。
第一阶段工作的输入是需求定义阶段产生的业务事件列表和报表列表,输出的是领域模型和用例模型。
针对每个业务事件进行业务流程分析、业务实体 ...
Golang
Golang下载和安装官网下载,next安装。
在喜欢的磁盘找一个路径放GoPath并添加到系统变量
在GoPath中创建pkg src bin 路径,并配到环境变量中。
src存放开发代码,可创建多个域名以及子路径
开发使用VS code 开发下载所需要的 Go 插件。
使用VsCode打开go\src\域名\子路径(随意)。
Hello Go创建Hello路径,路径中创建main.go
输入
1234567package mainimport "fmt"func main(){ fmt.Println("Hello")}
编译使用go build
1.在项目目录下执行go build
2.在其他路径下执行go build,需要在后面加上项目的路径(项目路径从GOPATH/Src后开始写起,编译之后的可执行文件就保存在当前目录下)
3.go build -o hello.exe (更改可执行文件的名称)
go run类似于执行脚本文件
go install 先编译后执行
跨平台编译–自行百度
eclipse如何配置Spring
仅限4.12版本以上
eclipse如何配置Spring查看自己的eclipse版本号
help里找到About eclipse IDE
我这里版本号是4.14
去官网的仓库https://github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3
官方提供的历史版本最早的到了4.12
如果版本过低建议更新eclipse。
找自己的对应的版本号以 Latest STS3 Downloads 为例
注意用仓库下载不是这些连接
而是这一些
复制4.14的对应地址
https://download.springsource.com/release/TOOLS/update/3.9.12.RELEASE/e4.14/
打开eclipse找到Install new software–add
名字随便取 比如Springtool
location 填地址
点Add
然后全选–next–agree–等待就行
MyBatis(八)
mybatis 缓存
查询缓存一级缓存:同一个SqlSession对象
MyBatis默认开启一级缓存,如果用同样的SqlSession对象查询相同的数据,则只会在第一次查询时向数据库发送SQL语句,并将查询的结果放入到SQLSESSION中(作为缓存在) ;后续再次查询该同样的对象时则直接从缓存中查询该对象即可(即省略了数据库的访问)。
二级缓存
Mybatis自带二级缓存: [同一个namespace]生成的mapper对象
MyBati s默认情况没有开启二级缓存,需要手工打开。
conf.xml中
12<!-- 开启二级缓存 --><setting name="cacheEnable" value="true"/>
mapper中
12<!-- 声明此namespace开启二级缓存 --><cache/>
异常提示:NotSerializableException可知,MyBatis的二级缓存是将对象放入硬盘文件中
序列化:内存->硬盘
反序列化:硬盘->内存
准备缓存的对 ...