build.gradle 에 의존성 추가
implementation "org.springframework.boot:spring-boot-starter-data-mongodb:$springBootVersion"
application.yml 에 접속정보 추가
spring.data.mongodb.host, port... 등을 추가해야함
spring:
data:
mongodb:
host:
port:
그 외 설정
DB 접속하는 빈 객체 만들거나 DB 접속 설정을 바꾸거나 하는 config 클래스를 만들수도 있다.
하지만 spring boot 에는 auto configuration 이라는게 있어서 알아서 해주는 듯(기본설정으로)
그래서 application.yml에 속성값만 바꾸면 됨
@ConfigurationProperties(prefix = "spring.data.mongodb") //application.yml 값 가져오기
@EnableMongoRepositories(basePackageClasses = arrayOf(MongoRepository::class))
class MongoDBConfiguration : AbstractMongoClientConfiguration() {
lateinit var database: String
lateinit var host: String
lateinit var port: String
lateinit var username: String
lateinit var password: String
override fun getDatabaseName(): String {
return database
}
override fun mongoClient(): MongoClient {
return MongoClients.create("mongodb://${username}:${password}@${host}:${port}")
}
}
test 코드가 에러난 이유
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type...
이거 그냥 빈이 없다는 얘기임
@DataMongoTest -> 몽고 테스트용
@SpringBootTest -> 전체 빈 올려서 테스트 하는 것
'트러블슈팅' 카테고리의 다른 글
[JPA] OneToMany 에서 child 를 지웠는데 update 쿼리가 날아간다고? (0) | 2020.11.05 |
---|---|
[Kotlin] Contracts (0) | 2020.08.04 |
[Gradle] 라이브러리 버전 충돌(버전이 여러개인 경우) (0) | 2020.07.14 |
[Aws] s3 cors 에러 (0) | 2020.07.03 |
[Python] pandas.read_csv 에서 ssl 오류 (0) | 2020.04.04 |