Upgrade to Spring 6 and Spring Boot 3.

See #654
This commit is contained in:
Christoph Strobl
2022-06-01 11:20:04 +02:00
committed by Mark Paluch
parent e59e147d6f
commit d52d73f34c
2115 changed files with 8303 additions and 9562 deletions

View File

@@ -15,7 +15,7 @@
*/
package example.users;
import javax.persistence.Embeddable;
import jakarta.persistence.Embeddable;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;

View File

@@ -15,11 +15,11 @@
*/
package example.users;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.PrePersist;
import jakarta.persistence.PreUpdate;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;

View File

@@ -18,8 +18,8 @@ package example.users;
import java.util.Optional;
import java.util.stream.IntStream;
import javax.annotation.PostConstruct;
import javax.transaction.Transactional;
import jakarta.annotation.PostConstruct;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;

View File

@@ -17,6 +17,7 @@ package example.users;
import java.util.Optional;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
@@ -24,7 +25,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
*
* @author Oliver Gierke
*/
interface UserRepository extends PagingAndSortingRepository<User, Long> {
interface UserRepository extends CrudRepository<User, Long>, PagingAndSortingRepository<User, Long> {
/**
* Returns the user with the given {@link Username}.

View File

@@ -15,7 +15,7 @@
*/
package example.users;
import javax.persistence.Embeddable;
import jakarta.persistence.Embeddable;
import lombok.EqualsAndHashCode;

View File

@@ -36,9 +36,10 @@
</dependency>
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<scope>runtime</scope>
<groupId>org.testcontainers</groupId>
<artifactId>mongodb</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -87,6 +88,12 @@
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@@ -15,7 +15,7 @@
*/
package example.users;
import javax.annotation.PostConstruct;
import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;

View File

@@ -1,3 +1 @@
spring.data.rest.base-path=/api
spring.data.mongodb.port=0
spring.mongodb.embedded.version=3.6.0

View File

@@ -19,14 +19,40 @@ package example.users;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.testcontainers.containers.MongoDBContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
/**
* @author Oliver Gierke
* @author Divya Srivastava
*/
@Testcontainers
@SpringBootTest
class ApplicationTests {
@Container //
private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}
@Test
void contextBootstraps() {}
static class MongoContainers {
private static final String IMAGE_NAME = "mongo:5.0";
private static final String IMAGE_NAME_PROPERTY = "mongo.default.image.name";
public static MongoDBContainer getDefaultContainer() {
return new MongoDBContainer(DockerImageName.parse(System.getProperty(IMAGE_NAME_PROPERTY, IMAGE_NAME)))
.withReuse(true);
}
}
}