Java进阶能力
Categories:
内容来源:
Java进阶能力 Java作为一门编程语言, 需要和其他组件一起完成某个项目 一名好的程序员不仅要知道去哪里import, 更要知道import什么组件, 甚至为组件贡献代码
- Redis
- WebSocket
- FastExcel报表
- Gateway网关(SpringCloudGateway)
- 中间件
- 消息队列
- Nacos配置中心
- Sential声明式服务
需要相关模块依赖, 如下是模块的实例
wms-sample-mq
模块
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent> <groupId>com.hamhuo.star</groupId>
<artifactId>wms-java</artifactId>
<version>${revision}</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>wms-sample</artifactId>
<dependencies> <!-- spring mvc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- common -->
<dependency>
<groupId>com.hamhuo</groupId>
<artifactId>wms-common</artifactId>
</dependency>
<dependency> <groupId>com.hamhuo.star</groupId>
<artifactId>wms-domain</artifactId>
</dependency>
<!-- alibaba nacos discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- alibaba nacos config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
</project>
启动类
/**
* <p> 描述:模块程序启动入口
* </p>
*/
@SpringBootApplication
@EnableDiscoveryClient
@EnableBinding(Source.class)
public class MqApplication {
public static void main(String[] args) {
SpringApplication.run(MqApplication.class, args);
}
}
AOP面向切面编程
The key unit of modularity in OOP is the class, whereas in AOP the unit of modularity is the aspect. Aspects enable the modularization of concerns (such as transaction management) that cut across multiple types and objects.
FastExcel报表组件
报表组件
Gateway网关
网关是一个位于微服务架构前端的组件,它充当了所有微服务的入口
Intercepter拦截器
拦截器 Interceptor 在 Spring MVC 中的地位等同于 Servlet 规范中的过滤器 Filter,拦截的是处理器的执行,由于是全局行为,因此常用于做一些通用的功能,如请求日志打印、权限控制等。
JWT与Session
一种令牌格式, 改进了 Session 需要状态管理的缺点, 通过用户提供token来实现令牌发放
Nacos配置中心
动态决策中心, 当然可以理解为分布式的配置中心
OAuth2认证
OAuth 2.0, which stands for “Open Authorization”, is a standard designed to allow a website or application to access resources hosted by other web apps on behalf of a user.
SpringMVC
MVC 也就是 Model-View-Controller, 这种模式用于应用程序的分层开发
TTL
基于 TransmittableThreadLocal (TTL) 自定义请求头拦截器,将Header 数据封装到线程变量中方便获取,减少用户信息数据库查询次数,同时验证当前用户有效期自动刷新有效期。
WebSocket
HTTP只能单向向服务器请求, 如果要实现服务器通知, 就必须由客户端轮询, 压力非常大. 并且HTTP会携带无效信息, 延迟很高 因此出现了WebSocket