Skip to content

Commit 9f89727

Browse files
authored
feat: upgrade to Spring Boot 4.0.0
1 parent 13ed2cd commit 9f89727

8 files changed

Lines changed: 35 additions & 24 deletions

File tree

.github/workflows/maven-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ jobs:
2626
with:
2727
fetch-depth: '0'
2828

29-
- name: Set up JDK 1.8
29+
- name: Set up JDK 17
3030
uses: actions/setup-java@v1
3131
with:
32-
java-version: 1.8
32+
java-version: 17
3333
server-username: OSSRH_JIRA_USERNAME
3434
server-password: OSSRH_JIRA_PASSWORD
3535
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,6 @@
2727

2828
### VS Code ###
2929
.vscode/
30+
31+
### Maven ###
32+
target/

.semantic-release-trigger

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Semantic Release Trigger
2+
3+
This file triggers a major version release via semantic-release.
4+
5+
Upgrade: Spring Boot 2.7.12 -> 4.0.0
6+
Breaking: Requires Java 17+ (was Java 8)

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@
44
[![GitHub Actions](https://github.com/jcasbin/casbin-spring-boot-starter/workflows/build/badge.svg)](https://github.com/jcasbin/casbin-spring-boot-starter/actions)
55
[![Maven Central](https://img.shields.io/maven-central/v/org.casbin/casbin-spring-boot-starter.svg?style=flat-square&color=brightgreen)](https://mvnrepository.com/artifact/org.casbin/casbin-spring-boot-starter/latest)
66
[![License](https://img.shields.io/github/license/jcasbin/casbin-spring-boot-starter.svg?style=flat-square&color=blue)](http://www.apache.org/licenses/LICENSE-2.0.txt)
7-
[![SpringBootVersion](https://img.shields.io/badge/SpringBoot-2.7.12-heightgreen.svg?style=flat-square)](https://spring.io/projects/spring-boot)
7+
[![SpringBootVersion](https://img.shields.io/badge/SpringBoot-4.0.0-brightgreen.svg?style=flat-square)](https://spring.io/projects/spring-boot)
8+
[![JavaVersion](https://img.shields.io/badge/Java-17+-blue.svg?style=flat-square)](https://openjdk.org/)
89
[![CasbinVersion](https://img.shields.io/badge/jCasbin-1.81.0-heightgreen.svg?style=flat-square)](https://casbin.org)
910

1011
[![](https://raw.githubusercontent.com/casbin/jcasbin/master/casbin-logo.png)](https://casbin.org)
1112

1213
Casbin Spring Boot Starter is designed to help you easily integrate [jCasbin](https://github.com/casbin/jcasbin) into
1314
your Spring Boot project.
1415

16+
## Requirements
17+
18+
- Java 17 or higher
19+
- Spring Boot 4.0.0 or higher
20+
1521
## how to use
1622

1723
1. Add ```casbin-spring-boot-starter``` to the Spring Boot project.

pom.xml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>2.7.12</version>
9+
<version>4.0.0</version>
1010
<relativePath/> <!-- lookup parent from repository -->
1111
</parent>
1212

@@ -77,13 +77,9 @@
7777
<plugin>
7878
<groupId>org.apache.maven.plugins</groupId>
7979
<artifactId>maven-javadoc-plugin</artifactId>
80-
<version>2.10.4</version>
80+
<version>3.11.2</version>
8181
<configuration>
82-
<additionalJOptions>
83-
<additionalJOption>
84-
-Xdoclint:none
85-
</additionalJOption>
86-
</additionalJOptions>
82+
<doclint>none</doclint>
8783
</configuration>
8884
<executions>
8985
<execution>
@@ -97,7 +93,7 @@
9793
<plugin>
9894
<groupId>org.apache.maven.plugins</groupId>
9995
<artifactId>maven-gpg-plugin</artifactId>
100-
<version>1.5</version>
96+
<version>3.2.7</version>
10197
<executions>
10298
<execution>
10399
<id>sign-artifacts</id>
@@ -131,7 +127,7 @@
131127
</build>
132128

133129
<properties>
134-
<java.version>1.8</java.version>
130+
<java.version>17</java.version>
135131
</properties>
136132
<dependencies>
137133
<dependency>
@@ -182,9 +178,9 @@
182178
<optional>true</optional>
183179
</dependency>
184180
<dependency>
185-
<groupId>mysql</groupId>
186-
<artifactId>mysql-connector-java</artifactId>
187-
<version>8.0.33</version>
181+
<groupId>com.mysql</groupId>
182+
<artifactId>mysql-connector-j</artifactId>
183+
<version>9.1.0</version>
188184
<scope>test</scope>
189185
</dependency>
190186
<dependency>

src/main/java/org/casbin/spring/boot/autoconfigure/CasbinAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
2222
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2323
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
24-
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
25-
import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
24+
import org.springframework.boot.jdbc.autoconfigure.DataSourceProperties;
25+
import org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration;
2626
import org.springframework.boot.context.properties.EnableConfigurationProperties;
2727
import org.springframework.boot.jdbc.DatabaseDriver;
2828
import org.springframework.context.annotation.Bean;

src/main/java/org/casbin/spring/boot/autoconfigure/CasbinRedisWatcherAutoConfiguration.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
1414
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
1515
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
16-
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
17-
import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
16+
import org.springframework.boot.data.redis.autoconfigure.DataRedisAutoConfiguration;
17+
import org.springframework.boot.data.redis.autoconfigure.DataRedisProperties;
1818
import org.springframework.boot.context.properties.EnableConfigurationProperties;
1919
import org.springframework.context.annotation.Bean;
2020
import org.springframework.context.annotation.Configuration;
@@ -30,8 +30,8 @@
3030
* @date 2019-4-05 13:53
3131
*/
3232
@Configuration
33-
@EnableConfigurationProperties({CasbinProperties.class, RedisProperties.class})
34-
@AutoConfigureAfter({RedisAutoConfiguration.class, CasbinAutoConfiguration.class})
33+
@EnableConfigurationProperties({CasbinProperties.class, DataRedisProperties.class})
34+
@AutoConfigureAfter({DataRedisAutoConfiguration.class, CasbinAutoConfiguration.class})
3535
@ConditionalOnExpression("'jdbc'.equalsIgnoreCase('${casbin.store-type:jdbc}') && ${casbin.enable-watcher:false} && 'redis'.equalsIgnoreCase('${casbin.watcher-type:redis}') ")
3636
public class CasbinRedisWatcherAutoConfiguration {
3737

@@ -41,7 +41,7 @@ public class CasbinRedisWatcherAutoConfiguration {
4141
@ConditionalOnBean(RedisTemplate.class)
4242
@ConditionalOnMissingBean
4343
@ConditionalOnExpression("'redis'.equalsIgnoreCase('${casbin.watcher-type:redis}') && '${casbin.watcher-lettuce-redis-type:none}'.equalsIgnoreCase('none')")
44-
public Watcher redisWatcher(RedisProperties redisProperties, CasbinProperties casbinProperties, Enforcer enforcer) {
44+
public Watcher redisWatcher(DataRedisProperties redisProperties, CasbinProperties casbinProperties, Enforcer enforcer) {
4545
int timeout = redisProperties.getTimeout() != null ? (int) redisProperties.getTimeout().toMillis() : 2000;
4646
RedisWatcher watcher = new RedisWatcher(redisProperties.getHost(), redisProperties.getPort(),
4747
casbinProperties.getPolicyTopic(), timeout, redisProperties.getPassword());
@@ -54,7 +54,7 @@ public Watcher redisWatcher(RedisProperties redisProperties, CasbinProperties ca
5454
@ConditionalOnBean(RedisTemplate.class)
5555
@ConditionalOnMissingBean
5656
@ConditionalOnExpression("'redis'.equalsIgnoreCase('${casbin.watcher-type:redis}') && ('${casbin.watcher-lettuce-redis-type:standalone}'.equalsIgnoreCase('standalone') || '${casbin.watcher-lettuce-redis-type:cluster}'.equalsIgnoreCase('cluster'))")
57-
public Watcher lettuceRedisWatcher(RedisProperties redisProperties, CasbinProperties casbinProperties, Enforcer enforcer) {
57+
public Watcher lettuceRedisWatcher(DataRedisProperties redisProperties, CasbinProperties casbinProperties, Enforcer enforcer) {
5858
int timeout = redisProperties.getTimeout() != null ? (int) redisProperties.getTimeout().toMillis() : 2000;
5959
if (casbinProperties.getWatcherLettuceRedisType().name().equalsIgnoreCase("standalone")) {
6060
LettuceRedisWatcher lettuceRedisWatcher = new LettuceRedisWatcher(redisProperties.getHost(), redisProperties.getPort(),

src/test/java/org/casbin/adapter/JdbcAdapterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import org.springframework.boot.test.context.SpringBootTest;
1010
import org.springframework.test.context.junit.jupiter.SpringExtension;
1111

12-
import javax.annotation.Resource;
12+
import jakarta.annotation.Resource;
1313
import java.util.ArrayList;
1414
import java.util.Arrays;
1515
import java.util.List;

0 commit comments

Comments
 (0)