spring-oauth-server 2.0.1 发布,基于Spring-Boot2.x实现,向微服务靠拢

spring-oauth-server在2019-08-04更新发布了2.0.1版本,

此版本是使用Spring Boot重构实现后的第2个发布版本(2.0.0是第1个),更新内容如下:

  1. 将项目用视频方式讲解出来,更直观学习与掌握,视频链接http://list.youku.com/albumlist/show/id_51900110.html(不断更新中)
  2. Fix issue #IJO9R /oauth/rest_token 接口 client_secret字段没有校验
  3. Use spring-boot version to :   2.0.2.RELEASE
  4. 修改ROLE的错误配置
  5. 升级Spring Security OAuth版本为2.3.4.RELEASE
  6. 增加将AccessToken存入Redis的配置参考,提高读写性能
  7. 增加使用代码生成AccessToken功能

 

2.0.1分支链接:https://gitee.com/shengzhao/spring-oauth-server/tree/2.0.1/

spring-oauth-server

 

 

历史更新

 

Spring-Boot工程自定义配置http状态码404,500页面

Spring-Boot工程默认出现404,500时的页面如下:

error-404

但是这样不够友好,若需要自定义配置http状态码出现404,500时的页面,最有效的方式是写一个bean实现
ErrorViewResolver接口,实现 resolveErrorView()方法,根据status状态来判断处理,并返回对应的ModelAndView即可,
一个示例实现如下:
error-view-resolver

参数model中可获取异常状态时的属性,包括status(状态码),error(异常信息),path(异常出现的路径),message(描述信息).

Spring-Boot使用总结

在Spring-Boot的使用过程中,总结与扩展如下几点,后续会持续跟进。

1. 修改默认配置文件 application.properties

Spring-Boot项目默认从classpath加载 application.properties, 但如果需要自定义项目的配置文件名,可使用@PropertySource 注解指定具体的配置文件名(可多个)

custom-properties

一般在使用 @SpringBootApplication 或 @Configuration 注解的地方添加 @PropertySource 指定具体的配置文件即可。

 

2.多个Spring-Boot项目如何部署在一个服务器中(如Tomcat)

默认情况下,Spring-Boot项目不能多个部署在一服务器中,这主要是由于jmx的原因引起的,所以如果想把多个项目部署在一服务器中,有两种方法

方法一:禁用 jmx, 在配置文件中添加 spring.jmx.enabled=false 配置项,禁用jmx功能

disable-jmx

方法二:若需要启用jmx,则在配置文件中指定jmx的default-domain 参数值(不同项目的参数值要不相同),如下所示:

jmx-domain

 

3. 解决启动Spring-Boot项目时的异常:If you want an embedded database (H2, HSQL or Derby)…

20181013132649

如上图所示,如果在启动时报这异常,解决办法是在项目的pom.xml中增加 H2,HSQL或Derby 的 dependency 即可,如下图

h2-dep

该异常一般在 Spring-Boot 1.x 版本中会出现,在使用中升级到 Spring-Boot  2.0.2.RELEASE版本后,不需要加这个 dependency 也能正常工作。

所以解决的另一办法就是升级Spring-Boot 的版本到 2.0.2.RELEASE 或更高的版本。

 

 

修改spring-boot默认配置文件名

Spring-Boot默认的配置文件名为 application.properties;

在部署运行时spring-boot 支持 war部署与 jar 部署

在jar 部署时,可通过参数

--spring.config.location

指定具体的配置文件如,示例如下:

java  -jar AAA.war --spring.config.location=classes/aaa.properties

但在war部署时要修改配置文件名,就需要通过JAVA_OPTS 配置 -Dspring.config.location=xxx.properties 来修改默认配置文件,
示例如下:

JAVA_OPTS=-server -Dspring.config.location=xxx.properties

参考
https://stackoverflow.com/questions/32189144/spring-boot-set-location-of-application-properties-in-war-file

spring-oauth-server 2.0.0 发布,使用Spring-Boot2.0实现

经过一年多的时间后,我们发布了 spring-oauth-server 2.0.0版本.

使用Spring-Boot 2.0版本重构, 进入模块化,零配置时代. 更符合技术发展与实际需要.

相比之前的版本(1.0及之前版本), 更新如下:

1. 全新的 Spring-Boot风格

2.ClientDetails中的 client_secret 字段加密保存

3.密码加密方式由MD5变成 BCrypt

4.增加CSRF机制支持

5.resourceId变为可选(但建议使用固定的resourceId)

https://gitee.com/shengzhao/spring-oauth-server/tree/2.0.0/

Java HeartBeat 2.0.0 发布,心跳检测应用服务器的Spring-Boot程序

Java HeartBeat 2.0.0版本已经发布, 使用Spring-Boot框架, 全新的”零配置”设计,向微服务化靠近,抛掉沉重的XML配置文件.Java HeartBeat 是心跳检测应用服务器(如 Tomcat,Jetty)的 Java Web 应用程序。

2.0.0版本主要更新如下:

1).使用 Spring-Boot 框架重构, 向微服务靠近
2).使用log4j2替换旧的log4j
3).更新登录页面样式,增加版本显示
4).单元测试使用Junit替换旧的TestNG
5).Sitemesh使用3.0版本替换2.0版本

HeartBeat 2.0.0版本访问地址: https://gitee.com/mkk/HeartBeat/tree/V-2.0.0/

https://gitee.com/mkk/HeartBeat