[Spring][Kotlin] 간단한 메모장 구현하기 4 (MemoService 생성)

PersesTitan·2022년 6월 20일
0

Spring

목록 보기
13/48

@Autowired로 의존성 주입을 해주고...

속도 상승을 위해서 Transactional을 readOnly로 만들고 편집이 필요한 로직은 @Transactional로 오버로딩 시켰습니다.

또한 만약에 검색이 null로 반환 되면 모든 결과를 반환하게 하였습니다.

@Service
@Transactional(readOnly = true)
class MemoService {

    @Autowired
    private lateinit var memoRepository: MemoRepository

    @Transactional
    fun save(memo: Memo): Long? {
        memoRepository.save(memo)
        return memo.id
    }

    @Transactional
    fun update(id: Long, title: String, content: String) {
        val memo = memoRepository.findOne(id)
        memoRepository.update(memo, title, content)
    }

    @Transactional
    fun remove(id: Long) {
        val memo = memoRepository.findOne(id)
        memoRepository.remove(memo)
    }

    fun findOne(id: Long): Memo {
        return memoRepository.findOne(id)
    }

    fun findAll(): List<Memo> {
        return memoRepository.findAll()
    }

    fun findSearch(keyWord: String?):List<Memo> {
        return if (keyWord == null || keyWord.isEmpty()) memoRepository.findAll()
        else memoRepository.findSearch(keyWord)
    }
}

Kotlin 버전 코드
Java 버전 코드
Groovy 버전 코드

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글