μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- MySQL
- Codeup
- go
- Gradle
- κΈ°μ΄100μ
- H2 μ€μΉ
- Git
- golang
- Vue.js
- 둬볡
- κ°μ¬μ€
- ν΄λ¦°μ½λ
- Python
- νμ΄μ¬
- μ€λΈμ
- μ½λμ
- Postman
- spring security
- thymeleaf
- JPA
- GitHub
- μκ³ λ¦¬μ¦
- mariadb
- μ€νλ§
- Spring
- java
- Spring Boot
- ν΄λ¦° μ½λ
- ν°μ€ν 리μ±λ¦°μ§
- springboot
- Today
- Total
nyximos.log
[Spring] μ€νλ§μ μ μ λ³Έλ¬Έ
π±μ€νλ§μ΄λ?
μλ° μν°νλΌμ΄μ¦ κ°λ°μ νΈνκ² ν΄μ£Όλ κ²½λνλ κ°λ°νκ²½μ μ 곡νλ μ€νμμ€ μ ν리μΌμ΄μ νλ μμν¬
- μλ° μΈμ΄ κΈ°λ°μ νλ μμν¬
- κ°μ²΄ μ§ν₯ μΈμ΄κ° κ°μ§ κ°λ ₯ν νΉμ§μ μ΄λ €λ΄λ νλ μμν¬
- μ’μ κ°μ²΄ μ§ν₯ μ ν리μΌμ΄μ κ°λ°ν μ μκ² λμμ£Όλ νλ μμν¬
μ€νλ§μ λ¬Έλ§₯μ λ°λΌ λ€λ₯΄κ² μ°μ΄κΈ°λ νλ€.
- μ€νλ§ DI 컨ν μ΄λ κΈ°μ
- μ€νλ§ νλ μμν¬
- μ€νλ§λΆνΈ, μ€νλ§ νλ μμν¬ λ±μ λͺ¨λ ν¬ν¨ν μ€νλ§ μνκ³
π€ μΈμ μ²μ λ±μ₯νλμ?
2003λ Rod Johnsonμ΄ μ§νν Expert One-on-One J2EE Design and DevelopmentλΌλ μ± μμ μ²μ μκ° λμμΌλ©°
EJB(Enterprise Java Beans)λΌλ 무κ²κ³ 볡μ‘ν νλ«νΌμμ λ²μ΄λ POJO(Plain Old Java Object)λ₯Ό κΈ°λ°μΌλ‘ νλ κ²½λμ νκ²½μ μ 곡νλ€.
EJBλ?
Enterprise Java Beans
κ±°λκ·λͺ¨ μμ€ν ꡬμΆμ μν μ»΄ν¬λνΈ λͺ¨λΈ
μ€νμλκ° λ리며 νλ‘κ·Έλλ° λͺ¨λΈμ΄ 볡μ‘νλ€. νΉμ νκ²½μ μ’ μμ μ΄λ€.
μ€μ§ μλ²μμλ§ λμνλ€.
JAVA Beansλ?
μλ°λ‘ μμ±λ μ»΄ν¬λνΈλ‘ ν΄λμ€λ€μ΄ 볡ν©μ μΌλ‘ μ΄λ£¨μ΄μ§ ꡬ쑰
μ¬μ¬μ©μ΄ κ°λ₯νλ©° μ»΄ν¬λνΈλ₯Ό 쑰립νλ©΄ μ ν리μΌμ΄μ μ λΉ λ₯΄κ² λ§λ€ μ μλ€.
EJBμλ λ€λ₯΄λ€. JAVA Beansλ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ ν΅μ νλ κ²½λ‘μμ μ¬μ©λλ€.
POJOλ?
Plain Old Java Object
μ€λλ λ°©μμ κ°λ¨ν μλ° μ€λΈμ νΈ
κ°μ²΄μ§ν₯μ μΈ μ리μ μΆ©μ€νλ©΄μ, νκ²½κ³Ό κΈ°μ μ μ’ μλμ§ μκ³ νμμ λ°λΌ μ¬νμ©λ μ μλ λ°©μμΌλ‘ μ€κ³λ μ€λΈμ νΈλ₯Ό λ§νλ€.
- ν λΉμ μ€νλ§-
POJOμ 쑰건
- νΉμ κ·μ½μ μ’ μλμ§ μλλ€.
- νΉμ νκ²½μ μ’
μλμ§ μλλ€.
- HttpServletRequestλ HttpSessionμ κ΄λ ¨λ APIλ₯Ό μ§μ μ΄μ©ν΄μλ μλλ€.
- λ¨μΌ μ± μ μμΉμ μ§ν€λ ν΄λμ€μ¬μΌ νλ€.
π μλ° μν°νλΌμ΄μ¦ Java EE (Java Enterprise Edition)
κΈ°μ μ© μ ν리μΌμ΄μ μ κ°λ°νλλ° νμν μ¬λ¬κ°μ§ λꡬμ λΌμ΄λΈλ¬λ¦¬λ€μ λͺ¨μ λμ κ²
Java EEλ Java SE νλ«νΌ μμ ꡬμΆλλ€.
Java SE(Java Standard Edition)λ μλ° μΈμ΄μ ν΅μ¬ κΈ°λ₯μ μ 곡νλ©° Java SE APIλ μλ° μΈμ΄μ κΈ°λ³Έμ μΈ νμ κ³Ό κ°μ²΄μμλΆν° λ€νΈμνΉ, 보μ, λ°μ΄ν°λ² μ΄μ€ μ κ·Ό, GUI , XML νμ±μ μ¬μ©λλ κ³ μμ€μ ν΄λμ€κΉμ§λ₯Ό λͺ¨λ μ μνλ€. Java SE APIμ μΆκ°νμ¬μ Java SE νλ«νΌμ JVM, μ»΄νμΌλ¬μ κ°μ κ°λ°λꡬ λ±μ ν¬ν¨νκ³ μλ€.
π μ€ν μμ€ Open Source Software
λꡬμκ²λ 곡κ°λμ΄ μμ λ‘κ² νμΈ,μμ ,λ°°ν¬ν μ μλ μ½λ
π κ²½λν
EJB λ± κΈ°μ‘΄ νλ μμν¬μμμ μ½λμ λΉν΄ μ½λλμ΄ μ κ³ λ¨μνλ€.
λΉ λ₯΄κ³ κ°νΈνκ² μ ν리μΌμ΄μ μ κ°λ°ν μ μλ€. → μμ°μ± good π
π μ ν리μΌμ΄μ Application
λ 립μ μΌλ‘ μ€νλ μ μλ μΌλ° μμ© νλ‘κ·Έλ¨
π νλ μμν¬ Framework
- μ¬μ μ μλ―Έλ‘λ λΌλ, ꡬ쑰
- μννΈμ¨μ΄ μ΄ν리μΌμ΄μ μ΄λ μ루μ μ κ°λ°μ μμνκ² νκΈ° μν΄ μννΈμ¨μ΄μ ꡬ체μ κΈ°λ₯μ ν΄λΉνλ λΆλΆμ μ€κ³μ ꡬνμ μ¬μ¬μ© κ°λ₯νλλ‘ νμ νλ ννλ‘ μ 곡νλ μννΈμ¨μ΄ νκ²½
π² μ€νλ§ Project
https://spring.io/projectsμ λ€μ΄κ°λ³΄λ©΄ Spring Boot, Spring Framework, Spring Data, Spring Cloud, Spring Security λ± λ§μ νλ‘μ νΈλ‘ μ€νλ§ μνκ³κ° νμ±λμ΄μλ€λ κ²μ μ μ μλ€.
π₯ μ€νλ§ λΆνΈλ?
JDK, ν°μΊ£, λ©μ΄λΈ κ°μ κ°λ°νκ²½μ νλ²μ μ€μΉλ‘ μ¬μ©ν μ μκ² ν΄μ£Όλ©°,
νλ‘μ νΈμ νμν λͺ¨λ λΌμ΄λΈλ¬λ¦¬λ€μ μλμΌλ‘ μΆκ°ν΄μ€λ€.
μ€νλ§μ μ²μ μ¬μ©νλ κ°λ°μλ€λ μ ν리μΌμ΄μ κ΄λ ¨ μ€μ μ μ½κ² μ²λ¦¬νκ³ κ΄λ¦¬ν¨μΌλ‘μ¨ κ°λ°μ체μ λ μ§μ€ν μ μκ² ν΄μ€λ€.
π² μ€νλ§ λΆνΈμ μ₯μ
1. λΌμ΄λΈλ¬λ¦¬ κ΄λ¦¬ μλν
κΈ°μ‘΄ μλ° νλ‘μ νΈμμλ Mavenμ΄λ Gradleμ μ΄μ©ν΄ λΌμ΄λΈλ¬λ¦¬ μμ‘΄μ±μ κ΄λ¦¬νμμ§λ§
μ€νλ§λΆνΈμμλ Starterλ₯Ό μ΄μ©ν΄ νΉμ κΈ°λ₯μ νμν λΌμ΄λΈλ¬λ¦¬ μμ‘΄μ±μ λ κ°λ¨ν μ²λ¦¬νλ€.
2. μ€μ μ μλν
νλ‘μ νΈμ μΆκ°λ λΌμ΄λΈλ¬λ¦¬λ₯Ό κΈ°λ°μΌλ‘ μ€νμ νμν νκ²½μ μλμΌλ‘ μ€μ ν΄μ€λ€.
λ°λΌμ κ°λ°μλ€μ λΌμ΄λΈλ¬λ¦¬ κ΄λ ¨ν μ€νλ§ μ€μ μ λ°λ‘ νμ§ μλλΌλ κ°λ°μ μ§μ€ν μ μλ€.
3. λΌμ΄λΈλ¬λ¦¬ λ²μ μλ κ΄λ¦¬
μ€νλ§ λΆνΈ λ²μ μ ν΄λΉνλ μ€νλ§ λΌμ΄λΈλ¬λ¦¬λ€κ³Ό μλνν° λΌμ΄λΈλ¬λ¦¬λ€λ νΈνλλ λ²μ μΌλ‘ λ€μ΄λ‘λ ν΄μ€λ€.
→ λ²μ μ΄ λ¬λΌμ λμνμ§ μλ μν©μ λ―Έμ°μ λ°©μ§νλ€.
4. ν μ€νΈ νκ²½
μ€νλ§ λΆνΈλ‘ μμ±ν νλ‘μ νΈμλ JUnitμ λΉλ‘―ν ν μ€νΈ κ΄λ ¨ λΌμ΄λΈλ¬λ¦¬λ€μ΄ κΈ°λ³Έμ μΌλ‘ ν¬ν¨
→ 컨νΈλ‘€λ¬ λ± λ€μν κ³μΈ΅ ν΄λμ€λ€μ κ΄ν ν μ€νΈ μΌμ΄μ€λ₯Ό μ½κ² μμ± ν μ μλ€.
5. λ΄μ₯ ν°μΊ£
Tomcat μλ²λ₯Ό λ΄μ₯
→ main() λ©μλλ₯Ό κ°μ§ ν΄λμ€λ₯Ό μ€ννλ λ°©μμΌλ‘ μλ² κ΅¬λ
→ λΉ λ₯Έ μ€ν κ²°κ³Ό λμΆ
6. λ 립μ μΌλ‘ μ€ν κ°λ₯ν JAR
μ±μ κ°λ°νκ³ ν μ€νΈκΉμ§ λλλ€λ©΄ μ€μ μ΄μ μλ²μ μ ν리μΌμ΄μ μ λ°°ν¬ν΄μΌ νλ€.
λ°°ν¬νλ €λ©΄ Packagingμ ν΄μΌνλλ°,
μΌλ° μλ° νλ‘μ νΈμ κ²½μ° JAR νμΌλ‘ ν¨ν€μ§ν΄μΌνκ³
μΉ νλ‘μ νΈμ κ²½μ° WAR νμΌλ‘ ν¨ν€μ§ ν΄μΌ νλ€.
μ€νλ§ λΆνΈλ μΉ μ ν리μΌμ΄μ λ WARκ° μλ JARνμΌλ‘ ν¨ν€μ§νμ¬ μ¬μ©ν μ μλ€.
μ°Έκ³
κΉμν, μ€νλ§ ν΅μ¬ μ리 - κΈ°λ³ΈνΈ https://inf.run/ryWP
- μ²μΈκ΅, νμνΈ, Power Java, INFINITY BOOKS, 2016
- μ±κ·ν, λꡬλ λκΉμ§ λ°λΌ ν μ μλ Quick Start μ€νλ§λΆνΈ, Ruby paper, 2019
- μ΄μΌλ―Ό, ν λΉμ μ€νλ§ 3.1, μμ΄μ½μΆν, 2012
- νλ μμν¬ - https://www.doopedia.co.kr/doopedia/master/master.do?_method=view&MAS_IDX=150723001500357
- μ€νλ§ - https://doing7.tistory.com/80
- μ€νλ§ - https://sorjfkrh5078.tistory.com/260
- EJB - https://zunoxi.github.io/programming/2020/12/30/dev-web-ejb/
- POJO - https://siyoon210.tistory.com/120
- POJO - https://happyer16.tistory.com/entry/POJOplain-old-java-object%EB%9E%80
'Programming > Spring' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Spring] μ»΄ν¬λνΈ μ€μΊκ³Ό @Autowired (2) | 2022.01.12 |
---|---|
[Spring] @Configuration, @Bean, μ€νλ§ μ»¨ν μ΄λ (2) | 2022.01.12 |
[Spring] IoC, DI, 컨ν μ΄λμ λν΄ μμ보μ (0) | 2022.01.11 |
[Spring] μ’μ κ°μ²΄ μ§ν₯ μ€κ³μ 5κ°μ§ μμΉ SOLID (0) | 2022.01.09 |
[Spring] μ’μ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ΄λ? (0) | 2022.01.09 |