[μŠ€ν”„λ§ DB 1편] - 11. μŠ€ν”„λ§ λΆ€νŠΈμ˜ μžλ™ λ¦¬μ†ŒμŠ€ 등둝

2023. 3. 25. 18:10Β·Spring/Spring DB

 

 

μŠ€ν”„λ§ λΆ€νŠΈκ°€ λ“±μž₯ν•˜κΈ° μ΄μ „μ—λŠ” λ°μ΄ν„°μ†ŒμŠ€μ™€ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €λ₯Ό κ°œλ°œμžκ°€ 직접 μŠ€ν”„λ§ 빈으둜 λ“±λ‘ν•΄μ„œ μ‚¬μš©ν–ˆλ‹€.

  

@Bean
DataSource dataSource() {
   return new DriverManagerDataSource(URL, USERNAME, PASSWORD);
}

@Bean
PlatformTransactionManager transactionManager() {
   return new DataSourceTransactionManager(dataSource());
}

 

λ°μ΄ν„°μ†ŒμŠ€μ™€ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €λ₯Ό 직접 μŠ€ν”„λ§ 빈으둜 등둝

 

μŠ€ν”„λ§ λΆ€νŠΈκ°€ λ‚˜μ˜€λ©΄μ„œ λ§Žμ€ 뢀뢄이 μžλ™ν™”λ˜μ—ˆλ‹€.

 

 

λ°μ΄ν„°μ†ŒμŠ€(DataSource) - μžλ™ 등둝

 

μŠ€ν”„λ§ λΆ€νŠΈλŠ” λ°μ΄ν„°μ†ŒμŠ€( DataSource )λ₯Ό μŠ€ν”„λ§ λΉˆμ— μžλ™μœΌλ‘œ λ“±λ‘ν•œλ‹€.

 

μžλ™μœΌλ‘œ λ“±λ‘λ˜λŠ” μŠ€ν”„λ§ 빈 이름: dataSource

 

application.properties

spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.username=sa
spring.datasource.password=

 

μŠ€ν”„λ§ λΆ€νŠΈλŠ” λ‹€μŒκ³Ό 같이 application.properties μ— μžˆλŠ” 속성을 μ‚¬μš©ν•΄μ„œ DataSource λ₯Ό μƒμ„±ν•œλ‹€. κ·Έλ¦¬κ³  μŠ€ν”„λ§ λΉˆμ— λ“±λ‘ν•œλ‹€.

 

 

 

νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €(transactionManager) - μžλ™ 등둝

 

μŠ€ν”„λ§ λΆ€νŠΈλŠ” μ μ ˆν•œ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €( PlatformTransactionManager )λ₯Ό μžλ™μœΌλ‘œ μŠ€ν”„λ§ λΉˆμ— λ“±λ‘ν•œλ‹€.


μžλ™μœΌλ‘œ λ“±λ‘λ˜λŠ” μŠ€ν”„λ§ 빈 이름: transactionManager


 

μ–΄λ–€ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €λ₯Ό μ„ νƒν• μ§€λŠ” ν˜„μž¬ λ“±λ‘λœ 라이브러리λ₯Ό 보고 νŒλ‹¨ν•˜λŠ”λ°,

 

JDBCλ₯Ό κΈ°μˆ μ„ μ‚¬μš©ν•˜λ©΄ DataSourceTransactionManager λ₯Ό 빈으둜 λ“±λ‘ν•˜κ³ ,

 

JPAλ₯Ό μ‚¬μš©ν•˜λ©΄ JpaTransactionManager λ₯Ό 빈으둜 λ“±λ‘ν•œλ‹€.

 

λ‘˜λ‹€ μ‚¬μš©ν•˜λŠ” 경우 JpaTransactionManager λ₯Ό λ“±λ‘ν•œλ‹€.

 

참고둜 JpaTransactionManager λŠ” DataSourceTransactionManager κ°€ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯도 λŒ€λΆ€λΆ„ μ§€μ›ν•œλ‹€.

 

 

 

정리

 

λ°μ΄ν„°μ†ŒμŠ€μ™€ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €λ₯Ό μŠ€ν”„λ§ 빈으둜 λ“±λ‘ν•˜λŠ” μ½”λ“œκ°€ μƒλž΅λ˜μ—ˆλ‹€.

 

 λ”°λΌμ„œ μŠ€ν”„λ§ λΆ€νŠΈκ°€ application.properties μ— μ§€μ •λœ 속성을 μ°Έκ³ ν•΄μ„œ λ°μ΄ν„°μ†ŒμŠ€μ™€ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €λ₯Ό μžλ™μœΌλ‘œ 생성해쀀닀.

 

 

λ°μ΄ν„°μ†ŒμŠ€μ™€ νŠΈλžœμž­μ…˜ λ§€λ‹ˆμ €λŠ” μŠ€ν”„λ§ λΆ€νŠΈκ°€ μ œκ³΅ν•˜λŠ” μžλ™ 빈 등둝 κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 것이 νŽΈλ¦¬ν•˜λ‹€.

 

μΆ”κ°€λ‘œ application.properties λ₯Ό 톡해 섀정도 νŽΈλ¦¬ν•˜κ²Œ ν•  수 μžˆλ‹€.

 

 

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard

 

μŠ€ν”„λ§ DB 1편 - 데이터 μ ‘κ·Ό 핡심 원리 - μΈν”„λŸ° | κ°•μ˜

λ°±μ—”λ“œ κ°œλ°œμ— ν•„μš”ν•œ DB 데이터 μ ‘κ·Ό κΈ°μˆ μ„ κΈ°μ΄ˆλΆ€ν„° μ΄ν•΄ν•˜κ³ , μ™„μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μŠ€ν”„λ§ DB μ ‘κ·Ό 기술의 원리와 ꡬ쑰λ₯Ό μ΄ν•΄ν•˜κ³ , 더 κΉŠμ΄μžˆλŠ” λ°±μ—”λ“œ 개발자둜 μ„±μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€., - κ°•μ˜

www.inflearn.com

 

 

 

μ €μž‘μžν‘œμ‹œ

'Spring > Spring DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[μŠ€ν”„λ§ DB 1편] - 13. 체크 μ˜ˆμ™Έμ™€ 언체크(λŸ°νƒ€μž„) μ˜ˆμ™Έ ν™œμš©  (0) 2023.03.29
[μŠ€ν”„λ§ DB 1편] - 12. μ˜ˆμ™Έ(Exception)의 이해 / 체크,언체크 μ˜ˆμ™Έ  (0) 2023.03.29
[μŠ€ν”„λ§ DB 1편] - 10. νŠΈλžœμž­μ…˜ AOP / @Transactional  (0) 2023.03.25
[μŠ€ν”„λ§ DB 1편] - 9. νŠΈλžœμž­μ…˜ ν…œν”Œλ¦Ώ  (0) 2023.03.25
[μŠ€ν”„λ§ DB 1편] - 8. νŠΈλžœμž­μ…˜ 좔상화  (2) 2023.03.24
'Spring/Spring DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [μŠ€ν”„λ§ DB 1편] - 13. 체크 μ˜ˆμ™Έμ™€ 언체크(λŸ°νƒ€μž„) μ˜ˆμ™Έ ν™œμš©
  • [μŠ€ν”„λ§ DB 1편] - 12. μ˜ˆμ™Έ(Exception)의 이해 / 체크,언체크 μ˜ˆμ™Έ
  • [μŠ€ν”„λ§ DB 1편] - 10. νŠΈλžœμž­μ…˜ AOP / @Transactional
  • [μŠ€ν”„λ§ DB 1편] - 9. νŠΈλžœμž­μ…˜ ν…œν”Œλ¦Ώ
hello_u
hello_u
  • hello_u
    😜
    hello_u
  • 전체
    였늘
    μ–΄μ œ
    • 😜 (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring μž…λ¬Έ (20)
        • Spring κΈ°λ³Έ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA κΈ°λ³Έ (16)
        • Spring JPA ν™œμš© (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp 기초 (44)
        • 파이썬 μ½”λ”©ν…ŒμŠ€νŠΈ (64)
        • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • μ»΄ν“¨ν„°μΌλ°˜ (3)
        • 운영체제 (3)
        • λ°μ΄ν„°λ² μ΄μŠ€ (0)
        • 정보톡신 (1)
        • 자료ꡬ쑰 (1)
        • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 (1)
        • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (0)
        • μ΅œμ‹  λ””μ§€ν„Έ, μΌλ°˜μƒμ‹ (0)
      • 자격증 (41)
        • μ •λ³΄λ³΄μ•ˆκΈ°μ‚¬ (9)
        • μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ (22)
        • λ¦¬λˆ…μŠ€λ§ˆμŠ€ν„° 1κΈ‰ (3)
        • SQLD (7)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
hello_u
[μŠ€ν”„λ§ DB 1편] - 11. μŠ€ν”„λ§ λΆ€νŠΈμ˜ μžλ™ λ¦¬μ†ŒμŠ€ 등둝
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”