1.@slf4j注释 可以令类中使用
2.配置文件可以在application.properties中使用key=value声明log.info(String msg)来输出日志到控制台
如果要使用可在java中使用Value(¥{})注释获得
@Value("${OSS.aliyun.endpoint}") private String endpoint ; @Value("${OSS.aliyun.accessKeyId}") private String accessKeyId; @Value("${OSS.aliyun.accessKeySecret}") private String accessKeySecret; @Value("${OSS.aliyun.bucketName}") private String bucketName;
3.ylm也可以做配置文件 在springboot中要命名为application.ylm
其中ylm使用格式为 key:value value前的空格一定有
#定义对象/Map集合 User: name: Tom age: 18 address: "China" #定义数组/List集合/Set Hobby: - java - c - python - go
4.将系统配置放在yml文件中然后声明一个aliOSSproperties类
@Data//getter setter方法 @Component//代表该对象交给IOC容器管理 @Configuration("aliyun.oss")//前缀名 public class AliOSSproperties { private String endpoint; private String accessKeyId; private String accessKeySecret; private String bucketName; }
然后在要使用的类中声明一个aliOSSproperties类 用Autowried来获取对象 再用get和set方法获取该用的系统配置
@Autowired private AliOSSproperties aliOSSproperties; /** * 实现上传图片到OSS */ public String upload(MultipartFile file) throws IOException { String endpoint = aliOSSproperties.getEndpoint(); String accessKeyId = aliOSSproperties.getAccessKeyId(); String accessKeySecret = aliOSSproperties.getAccessKeySecret(); String bucketName = aliOSSproperties.getBucketName();
4.Rest风格:
GET:查询
POST:新增
PUT:修改
DELETE:删除
5.cookie和session和JWT
cookie在第一次访问浏览器时由服务端生成的 而后每次发送请求浏览器都会带上cookie信息 以便服务端识别 cookie保存在浏览器端session是由服务端也生成一个值供服务端保存以便验证身份
JWT:json web Token 最典型的应用就是登录场景
JWT由三部分构成 由Base64编码
第一部分Head(头) 记录算法信息 令牌类型
第二部分Payload(有效负荷)制定一些信息 由程序员定义
第三部分Signature(签名) 防止Token被篡改JWT的生成
@Test public void TestGenJWT(){ Map<String, Object> clams = new HashMap<>(); //定义map集合 封装数据 向JWT中添加JSON格式数据 clams.put("name", "jeny"); clams.put("gender","nan") ; String itheima = Jwts.builder() //创建JWT的生成器 .signWith(SignatureAlgorithm.HS256, "itheima") //设置签名秘钥以及签名算法 .setClaims(clams) //设置自定义数据 .setExpiration(new Date(System.currentTimeMillis() + 3600 * 2 * 1000)) //设置过期时间 .compact();//生成JWT System.out.println(itheima); //eyJhbGciOiJIUzI1NiJ9.eyJnZW5kZXIiOiJuYW4iLCJuYW1lIjoiamVueSIsImV4cCI6MTczMDYzNjcwNH0.SfudpccSinXMgM-ImKcH_pKLV-7P79cGI4GskIMLQiY }
JWT的解析
@Test public void TestParseJWT(){ Claims itheima = Jwts.parser() //创建JWT解析器 .setSigningKey("itheima")//设置签名秘钥 .parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJnZW5kZXIiOiJuYW4iLCJuYW1lIjoiamVueSIsImV4cCI6MTczMDYzNjcwNH0.SfudpccSinXMgM-ImKcH_pKLV-7P79cGI4GskIMLQiY") //解析JWT .getBody(); //获取解析后的数据 System.out.println(itheima); }
6.状态码
状态码响应分为五类信息响应(100-199)
成功响应(200-299)
重定向(300-399)
客户端错误(400-499)
服务器错误(500-599)
3** 重定向 需要进一步操作以完成请求
4** 客户端错误 请求包含语法错误或无法完成请求
5** 服务端错误 服务器在处理请求的过程中发生了错误
100 continue 继续请求 客户端继续其请求
200 OK 请求成功
400客户端请求的语法错误 服务器无法理解
401 请求要求用户的身份认证
403Forbidden 服务器理解请求客户端的请求但是拒绝执行此次请求
404 Not Found 找不到网页
405 Method Not Allowed 客户端请求中的方法被禁止 一般指服务器要一种请求而服务端发送了一个错误请求 比如服务器需要GET请求而客户端发送的DELETE请求
408 Request Time-out 请求超时500服务器内部错误无法完成请求
程序员最喜欢看到的代码 200-OK
程序员不想看到的 500-Internal-Server-Error
用户最不想看到的 401-Unauthorized 403-Forbidden 404 Not-Found 408-Request-Time-out