首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

(二)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--b2b2c平台规划

由于公司要做整套电子商务解决方案,考虑到平台的通用性(其中b2b、b2c、o2o、小程序,都离不开基础平台),优先给公司规划: 平台管理端(统一管理,包含自营店铺)、商家管理端(可以入驻,多租户模式)、买家端(支持PC、h5/公众号、小程序、ios/android)三个通用平台。 平台管理端,因为考虑到平台管理的用户访问量比较小,而且都是一些针对于数据表单的操作,如:清单列表、分页、添加、修改、删除、导入导出等管理功能,也局限于企业用户,这个平台没有采用微服务模式,而是使用最传统的spring boot2.0 + mybatis + 前端模板(h5、css3、bootstrap、jquery、velocity)技术去实施,相对比较简洁简单。 商家管理端,入驻平台开店用户不可能达到极限,故同样采用平台管理端技术解决方案(同上)。 买家端,考虑到会员用户量大(百万千万级别)、大数据(亿万)、高并发、前端UI可定制化,故使用微服务模式。考虑到前端业务的通用性,我们将前端购买业务拆分为不同的微服务来满足需求,拆分服务如下: honghu-activity:活动 honghu-advert:广告 honghu-app: app相关 honghu-brand: 品牌 honghu-cms: 内容发布 honghu-collect: 我的收藏 honghu-common: 系统通用服务 honghu-coupon: 优惠券 honghu-distribution: 分销 honghu-feedback: 反馈 honghu-file: 文件 honghu-free: 试用 honghu-goodsclass: 商品分类 honghu-goods: 商品 honghu-group: 团购 honghu-home: 首页 honghu-integral: 积分商城 honghu-member: 会员 honghu-message: 消息 honghu-operate: 运营 honghu-order: 订单 honghu-pay: 支付 honghu-pin: 拼多多(模拟) honghu-search: 搜索 honghu-setting: 设置 honghu-social: 社交电商 honghu-sso: 单点登录 honghu-store: 店铺 以上是我参与的Spring Cloud B2B2C O2O鸿鹄云商基础平台规划,从现在开始,我会将每一个细节点落实到文章上,希望能够帮助更多的朋友。

优秀的个人博客,低调大师

java版电子商务spring cloud分布式微服务b2b2c社交电商-spring cloud gateway之filter篇

filter的作用和生命周期 由filter工作流程点,可以知道filter有着非常重要的作用,在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post”类型的过滤器中可以做响应内容、响应头的修改,日志的输出,流量监控等。首先需要弄清一点为什么需要网关这一层,这就不得不说下filter的作用了。 作用 当我们有很多个服务时,比如下图中的user-service、goods-service、sales-service等服务,客户端请求各个服务的Api时,每个服务都需要做相同的事情,比如鉴权、限流、日志输出等。 对于这样重复的工作,有没有办法做的更好,答案是肯定的。在微服务的上一层加一个全局的权限控制、限流、日志输出的Api Gatewat服务,然后再将请求转发到具体的业务服务层。这个Api Gateway服务就是起到一个服务边界的作用,外接的请求访问系统,必须先通过网关层。 生命周期 Spring Cloud Gateway同zuul类似,有“pre”和“post”两种方式的filter。客户端的请求先经过“pre”类型的filter,然后将请求转发到具体的业务服务,比如上图中的user-service,收到业务服务的响应之后,再经过“post”类型的filter处理,最后返回响应到客户端。 与zuul不同的是,filter除了分为“pre”和“post”两种方式的filter外,在Spring Cloud Gateway中,filter从作用范围可分为另外两种,一种是针对于单个路由的gateway filter,它在配置文件中的写法同predict类似;另外一种是针对于所有路由的global gateway filer,二者区别如下: GatewayFilter : 需要通过spring.cloud.routes.filters 配置在具体路由下,只作用在当前路由上或通过spring.cloud.default-filters配置在全局,作用在所有路由上 GlobalFilter : 全局过滤器,不需要在配置文件中配置,作用在所有的路由上,最终通过GatewayFilterAdapter包装成GatewayFilterChain可识别的过滤器,它为请求业务以及路由的URI转换为真实业务服务的请求地址的核心过滤器,不需要配置,系统初始化时加载,并作用在每个路由上。 gateway filter 过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应。过滤器可以限定作用在某些特定请求路径上。 Spring Cloud Gateway包含许多内置的GatewayFilter工厂。 GatewayFilter工厂同上一篇介绍的Predicate工厂类似,都是在配置文件application.yml中配置,遵循了约定大于配置的思想,只需要在配置文件配置GatewayFilter Factory的名称,而不需要写全部的类名,比如AddRequestHeaderGatewayFilterFactory只需要在配置文件中写AddRequestHeader,而不是全部类名。在配置文件中配置的GatewayFilter Factory最终都会相应的过滤器工厂类处理。 Spring Cloud Gateway 内置的过滤器工厂一览表如下: Spring Cloud Gateway框架内置的GlobalFilter如下: 本篇文章讲述了Spring Cloud Gateway中的过滤器,包括GatewayFilter和GlobalFilter,有很多内置的过滤器并没有讲述到,比如限流过滤器,这个我觉得是比较重要和大家关注的过滤器,将在之后的文章讲述。

优秀的个人博客,低调大师

(十一)Java springcloud B2B2C o2o多用户商城 springcloud架构- - SSO单点登录之OAuth2.0登...

上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的登录认证):上面的图很清楚的描述了当前登录login的流程,现在我们针对于login做成相关的微服务,解析如下: 请求方式:POST服务URL:http://localhost:8080/user/login参数类型:application/json Headers: Content-Type: application/json Authorization: Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0= Body:{ "userName":"admin", ---也可以是手机号码等 "password": "e10adc3949ba59abbe56e057f20f883e" } 返回值类型: application/json 返回的结果集: { "code": "200", "message": "Success", "version": "v1.0", "data": { "userInfo": { "userId": "00001", "pwd": "e10adc3949ba59abbe56e057f20f883e", "userName": "admin", "mobile": "15875500000", "telephone": "", "wechat": "", "email": "xxx@qq.com", "status": "1", "createTime": "2017-06-26" }, "roleIds": "100", "tokenInfo": { "accessToken":"4de55a69-e372-4766-acd3-1c419d6f2fda", "tokenType": "bearer", "webTokent":"uHSLjfJoQwU4t4PAqCzH1SN0fp7PUWKluPNS+x1dZ8R9Gx+NJkBI7w==", "refreshToken":"d3d71594-5c3f-4a68-a7e5-b8d21c4fa73b", "expiresIn": 34644, "scope": "read write" } } } 备注:可以使用Postman工具进行测试框架设计思想: 提供独立的commonservice-sso的微服务、提供component-sso的依赖组件、提供针对于用户登录的微服务客户端user-service微服务接口。 整个执行的流程如下:user-service ---> commonservice-sso --->component-sso这里还没有讲解到服务网关,后面会涉及到服务网关和sso单点登录之间如何实现服务认证和鉴权。 从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

优秀的个人博客,低调大师

(十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根...

上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程: /** * 根据token获取用户信息 * @param accessToken * @return * @throws Exception */ @RequestMapping(value = "/user/token/{accesstoken}", method = RequestMethod.GET) public ResponseVO getUserByToken(@PathVariable(value = "accessToken", required = true) String accessToken,@RequestHeader(value = "userId", required = true) Long userId) throws Exception { if(StringUtils.isEmpty(accessToken)){ return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_REQ_CANNOT_EMPTY, null); } OauthAccessToken oauthAccessToken = userMgrService.getOauthAccessToken(accessToken); if(null == oauthAccessToken){ return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null); } String userName = oauthAccessToken.getUserName(); if (StringUtils.isEmpty(userName)) { return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null); } return this.getUser(userName); } @RequestMapping(path = "/user/get/{userName}", method = RequestMethod.GET) public ResponseVO getUser(@PathVariable(value = "userName") String userName) { Map<String, Object> returnData = null; try { User user = userMgrService.getUserByName(userName); if (null != user) { returnData = new HashMap<String, Object>(); returnData.put("user", user); return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SUCCESS, returnData); } return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SYSTEM_ERROR, null); } catch (Exception e) { return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SYSTEM_ERROR, null); } } 我这里只是简单写了一些登出的代码,我们会在后面的文章中详细贴出所有代码供大家参考,而且会从创建数据库,到执行操作的每一个流程记录下来。 从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

优秀的个人博客,低调大师

(十二)Java springcloud B2B2C o2o多用户商城 springcloud架构-- SSO单点登录之OAuth2.0 登...

上一篇我根据框架中OAuth2.0的使用总结,画了一个根据用户名+密码实现OAuth2.0的登录认证的流程图,今天我们看一下logout的流程: /** * 用户注销 * @param accessToken * @return */ @RequestMapping(value = "/user/logout", method = RequestMethod.POST) public ResponseVO userLogout(@RequestHeader(value = "accessToken", required = true) String accessToken, @RequestHeader(value = "userId", required = true) Long userId) throws Exception{ OauthAccessToken oauthAccessToken = userMgrService.getOauthAccessToken(accessToken); if(null == oauthAccessToken){ return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null); } //刪除OauthToken记录 boolean result = userMgrService.revokeOauthToken(oauthAccessToken); if(result){ return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_RETURN_CODE_SUCCESS, null); } return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SYSTEM_ERROR, null); } 我这里只是简单写了一些登出的代码,我们会在后面的文章中详细贴出所有代码供大家参考,而且会从创建数据库,到执行操作的每一个流程记录下来。 从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。完整项目的源码来源

优秀的个人博客,低调大师

Java 开源办公开发平台 O2OA V5.3.0 发布 | 移动版H5发布,服务器性能优化升级

O2OA此次发布的移动端H5版本,拥有高度的灵活性、强大的交互功能、丰富的适配平台,同时拥有齐全的页面组件,功能组合极其便利。客户在使用移动端H5进行办公时,能够更高效地实现动态信息确认、助力企业协同办公。对于开发者来说,此次移动端H5版本可大大降低OA办公系统的开发成本,同时还可以考虑客户的实际应用需求,在各类办公APP中嵌入使用,如钉钉、企业微信等等。 此外,O2OA是一个SPA(single page web application)应用,相对与传统的多页应用,前端的代码量比较大,所以此次V5.3.0版本从多方面优化了前端性能。详情请见语雀教程:https://www.yuque.com/docs/share/bb782895-d2a8-4fee-a7a5-ffae026f9dfc?# 《O2OA前端性能优化》 O2OA V5.3.0包含大量功能更新和问题修正,让平台更稳定,用户操作更方便: 功能新增 [移动办公]新增了企业微信通讯录同步回调功能 [移动办公]新增了钉钉通讯录同步回调功能 [数据库连接]新增了人大金仓数据库V8R6适配器 [流程平台]新增了表单组件的默认值等脚本支持异步返回 [流程平台]优化表单展现速度,增加预加载脚本 [流程平台]新增了数据网格支持插入附件功能 [流程平台]新增了V2版本的work接口 [流程平台]新增了V2版本的form接口 [文件存储]新增了对sftp协议的支持 [系统服务]新增了工作时间计算的前端接口 [人员组织]新增了组织关联用户、身份是否存在的校验接口 [人员组织]新增了根据职务名称和组织查询职务信息接口 [人员组织]新增了组织成员按身份排序的按钮 [中心服务]新增了手动发起同步区域数据接口 [内容管理]新增了点赞信息查询接口 [内容管理]新增了根据id列表查询doc数据接口 [数据中心]新增了查询语句的视图配置 [数据中心]新增了查询语句的API [数据中心]新增了获取实体对象的属性信息接口 [数据中心]新增了视图数组类型in语句查询条件 [数据中心]新增了查询语句查询数据与查询总数同时执行的接口 [数据中心]新增了视图中的全选功能 [数据中心]新增了视图中按脚本设置默认选中条目的功能 [数据中心]新增了视图中按脚本设置选中条目权限的功能 [平台架构]打包应用jar包上传到maven仓库 [平台架构]新增了自定义应用模板创建 [平台架构]引入Promise对象,所有前端Action的请求全部返回Promise对象 [平台架构]新增了web.json配置,可配置configMapping减少获取服务地址请求 [考勤管理]新增了工作地点的百度开发者账号设置 功能优化 [缓存]简化ETag计算,减少ETag计算开销 [服务器]ctl -hs 命令增加对center,application,web服务器的dump [流程平台]优化优先路由功能,增加立即执行配置项 [流程平台]增加在拆分合并状态下的拆分值的回滚 [流程平台]增加提交时人员选择的隐藏条件 [流程平台]修改服务调用活动颜色,以免和流程监控的已流转过活动颜色过于接近 [流程平台]多人处理时,优先路由是立即执行还是所有人处理完成后执行,现在可以在流程配置时选择 [流程平台]默认隐藏流程配置的高级属性 [流程平台]流程配置事件增加了有代码的提示标志 [系统服务]接口脚本改由编译后缓存执行 [数据库连接]增加数据库连接池借入借出的testConnection配置项 [服务器]ctl -td命令改由调用jcmd执行 [数据中心]优化自建表查询,允许自建表间关联查询、子查询、join查询 [数据中心]自建表编译优化,支持集群同时编译 [数据中心]取消视图查询时默认时间范围1年限制 [数据中心]限制了自检表的表名为文本加日期 [数据中心、流程引擎、内容管理]操作条的系统操作和自定义操作可以混合排序 [内容管理]缓存及权限刷新修改 [内容管理]增加了评论的编辑器设置 [人员组织]修改根据组织和职务名称查询身份信息接口(优化查询速度) [人员组织]增加了组织中按照人员拼音排序的功能 [门户管理]优化门户展现速度 [云文件]支持管理员设置用户最大使用容量、可上传的文件类型限制 问题修复 [移动办公]修复了Android app 下载更新的bug [移动办公]修复了Android app 指纹认证登录不成功的bug [移动办公]修复了Android app 会议处理页面的bug [移动办公]修复了钉钉工作页面无法关闭的bug [论坛管理]修复了内外网域名不同图片不能正确显示的bug [数据库连接]修复了神州通用数据库Boolean映射错误的bug [自定义表]修复了驼峰式命名单个小写字母转换的错误 [流程平台]修复了一键下载文件标题包含特殊字符、标题过长的问题 [流程平台]修复了提交时选人可能重复出现人员的问题 [流程平台]修复了关闭WORK页面时,有时beforeunload事件会执行两次的问题 [流程平台]修复了版式文件粘贴大段内容后容器高度异常问题 [流程平台]修复了数据网格中多行文本的显示问题 [应用中心]修复了导入应用覆盖时应用本身信息没有覆盖的问题 [内容管理]修复了附件update权限判断错误的问题 [数据中心]修复了数据中心应用删除时关联的子表数据未删除完全的问题 [系统服务]修复了代理模式代理url特殊字符比如|的问题 [平台首页]修复了首页日程安排标题显示重叠的问题

优秀的个人博客,低调大师

(十)Java springcloud B2B2C o2o多用户商城 springcloud架构-SSO单点登录之OAuth2.0登录认证(...

之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点:一、oauth中的角色client:调用资源服务器API的应用 Oauth 2.0 Provider:包括Authorization Server和Resource Server (1)Authorization Server:认证服务器,进行认证和授权 (2)Resource Server:资源服务器,保护受保护的资源user:资源的拥有者 二、下面详细介绍一下Oauth 2.0 ProviderAuthorization Server:(1)AuthorizationEndpoint:进行授权的服务,Default URL:/oauth/authorize (2)TokenEndpoint:获取token的服务,Default URL:/oauth/token Resource Server:OAuth2AuthenticationProcessingFilter:给带有访问令牌的请求加载认证 三、下面再来详细介绍一下Authorization Server:一般情况下,创建两个配置类,一个继承AuthorizationServerConfigurerAdapter,一个继承WebSecurityConfigurerAdapter,再去复写里面的方法。 主要出现的两种注解:1、@EnableAuthorizationServer:声明一个认证服务器,当用此注解后,应用启动后将自动生成几个Endpoint:(注:其实实现一个认证服务器就是这么简单,加一个注解就搞定,当然真正用到生产环境还是要进行一些配置和复写工作的。) /oauth/authorize:验证 /oauth/token:获取token /oauth/confirm_access:用户授权 /oauth/error:认证失败 /oauth/check_token:资源服务器用来校验token /oauth/token_key:如果jwt模式则可以用此来从认证服务器获取公钥 以上这些endpoint都在源码里的endpoint包里面。 2、@Beans:需要实现AuthorizationServerConfigurer AuthorizationServerConfigurer包含三种配置: ClientDetailsServiceConfigurer:client客户端的信息配置,client信息包括:clientId、secret、scope、authorizedGrantTypes、authorities (1)scope:表示权限范围,可选项,用户授权页面时进行选择 (2)authorizedGrantTypes:有四种授权方式 Authorization Code:用验证获取code,再用code去获取token(用的最多的方式,也是最安全的方式)Implicit: 隐式授权模式Client Credentials (用來取得 App Access Token)Resource Owner Password Credentials(3)authorities:授予client的权限 这里的具体实现有多种,in-memory、JdbcClientDetailsService、jwt等。 AuthorizationServerSecurityConfigurer:声明安全约束,哪些允许访问,哪些不允许访问 AuthorizationServerEndpointsConfigurer:声明授权和token的端点以及token的服务的一些配置信息,比如采用什么存储方式、token的有效期等 client的信息的读取:在ClientDetailsServiceConfigurer类里面进行配置,可以有in-memory、jdbc等多种读取方式。 jdbc需要调用JdbcClientDetailsService类,此类需要传入相应的DataSource. 下面再介绍一下如何管理token:AuthorizationServerTokenServices接口:声明必要的关于token的操作 (1)当token创建后,保存起来,以便之后的接受访问令牌的资源可以引用它。 (2)访问令牌用来加载认证 接口的实现也有多种,DefaultTokenServices是其默认实现,他使用了默认的InMemoryTokenStore,不会持久化token; token存储方式共有三种分别是:(1)InMemoryTokenStore:存放内存中,不会持久化 (2)JdbcTokenStore:存放数据库中 (3)Jwt: json web token 授权类型:可以通过AuthorizationServerEndpointsConfigurer来进行配置,默认情况下,支持除了密码外的所有授权类型。相关授权类型的一些类: (1)authenticationManager:直接注入一个AuthenticationManager,自动开启密码授权类型 (2)userDetailsService:如果注入UserDetailsService,那么将会启动刷新token授权类型,会判断用户是否还是存活的 (3)authorizationCodeServices:AuthorizationCodeServices的实例,auth code 授权类型的服务 (4)implicitGrantService:imlpicit grant (5)tokenGranter: endpoint的URL的配置:(1)AuthorizationServerEndpointsConfigurer的pathMapping()方法,有两个参数,第一个是默认的URL路径,第二个是自定义的路径 (2)WebSecurityConfigurer的实例,可以配置哪些路径不需要保护,哪些需要保护。默认全都保护。 自定义UI:(1)有时候,我们可能需要自定义的登录页面和认证页面。登陆页面的话,只需要创建一个login为前缀名的网页即可,在代码里,设置为允许访问,这样,系统会自动执行你的登陆页。此登陆页的action要注意一下,必须是跳转到认证的地址。 (2)另外一个是授权页,让你勾选选项的页面。此页面可以参考源码里的实现,自己生成一个controller的类,再创建一个对应的web页面即可实现自定义的功能。 下面梳理一下授权获取token流程:(1)端口号换成你自己的认证服务器的端口号,client_id也换成你自己的,response_type类型为code。 localhost:8080/uaa/oauth/authorize?client_id=client&response_type=code&redirect_uri=http://www.baidu.com(2)这时候你将获得一个code值:http://www.baidu.com/?code=G0C20Z (3)使用此code值来获取最终的token: curl -X POST -H "Cant-Type: application/x-www-form-urlencoded" -d 'grant_type=authorization_code&code=G0C20Z&redirect_uri=http://www.baidu.com' "http://client:secret@localhost:8080/uaa/oauth/token" 返回值: {"access_token":"b251b453-cc08-4520-9dd0-9aedf58e6ca3","token_type":"bearer","expires_in":2591324,"scope":"app"} (4)用此token值来调用资源服务器内容(如果资源服务器和认证服务器在同一个应用中,那么资源服务器会自己解析token值,如果不在,那么你要自己去做处理) curl -H "Authorization: Bearer b251b453-cc08-4520-9dd0-9aedf58e6ca3" "localhost:8081/service2(此处换上你自己的url)" 四、Resource Server:保护资源,需要令牌才能访问在配置类上加上注解@EnableResourceServer即启动。使用ResourceServerConfigurer进行配置: (1)tokenServices:ResourceServerTokenServices的实例,声明了token的服务 (2)resourceId:资源Id,由auth Server验证。 (3)其它一些扩展点,比如可以从请求中提取token的tokenExtractor (4)一些自定义的资源保护配置,通过HttpSecurity来设置 使用token的方式也有两种: (1)Bearer Token(https传输方式保证传输过程的安全):主流 (2)Mac(http+sign) 如何访问资源服务器中的API? 如果资源服务器和授权服务器在同一个应用程序中,并且您使用DefaultTokenServices,那么您不必太考虑这一点,因为它实现所有必要的接口,因此它是自动一致的。如果您的资源服务器是一个单独的应用程序,那么您必须确保您匹配授权服务器的功能,并提供知道如何正确解码令牌的ResourceServerTokenServices。与授权服务器一样,您可以经常使用DefaultTokenServices,并且选项大多通过TokenStore(后端存储或本地编码)表示。 (1)在校验request中的token时,使用RemoteTokenServices去调用AuthServer中的/auth/check_token。 (2)共享数据库,使用Jdbc存储和校验token,避免再去访问AuthServer。 (3)使用JWT签名的方式,资源服务器自己直接进行校验,不借助任何中间媒介。 五、oauth client在客户端获取到token之后,想去调用下游服务API时,为了能将token进行传递,可以使用RestTemplate.然后使用restTemplate进行调用Api。 注: scopes和authorities的区别: scopes是client权限,至少授予一个scope的权限,否则报错。 authorities是用户权限。 以上是我从网上找到的一篇写的不错的博客,希望可以帮助大家快速了解OAuth2.0,下一篇文章我们正式介绍OAuth2.0在当前框架中的使用。 从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。完整项目的源码来源

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册