* Framework
- μμ£Ό μ¬μ©λ κΈ°λ₯μ 미리 ꡬνν΄ λμ κ² ( μμ°μ±ν₯μ )
- λ°°ν¬λ .jarλ‘ μν
- μ 곡λλ κΈ°λ₯μ μ¬μ©μμ μν©μ λ§κ² μμ νμ¬ μ¬μ©νκ³ , μλͺ μ£ΌκΈ°μ κ΄λ¦¬λ₯Ό
κ°λ°μκ° νμ§ μλλ€.
- λ° μ‘°λ¦½νν.
- μ΅μνμ νμ§ λ³΄μ₯μ λ°κΈ° μν΄ νλ μμν¬λ₯Ό λμ νλ€.
- Spring, MyBatis, any framework,,,,
* Library
- μμ£Ό μ¬μ©λ κΈ°λ₯μ 미리 ꡬνν΄ λμ κ². ( μμ°μ±ν₯μ )
- λ°°ν¬λ .jarλ‘ μν.
- μ 곡λλ κΈ°λ₯μ κ·Έλλ‘ μ¬μ©νκ³ , μλͺ μ£ΌκΈ°λ₯Ό κ°λ°μκ° κ΄λ¦¬νλ€.
κ΅¬λΆ | classμ¬μ© | CBD | Framework |
μ»΄ν¨ν° 쑰립 | |||
κ°λ°λμ΄λ | μ | μ€ | ν |
κ°λ°μλ | λλ¦Ό | μ€ | μ |
νμ§ | μ΅μ(λͺ©μ μ λ§κ²) | μ€ | ν |
λμμλ | μ | μ€ | ν |
* Spring
- spring.ioμμ λ¬΄λ£ μ 곡νλ€.
- Spring IoC(Inversion of Control)μμ Spring framework μΌλ‘ λ³ν.
- Spring DI, AOP, ORM, Web, MVC, JDBC λ± λ€μν κΈ°λ₯μ μ 곡.
* Spring MVC
- MVC Patternμ 미리 ꡬνν΄μ μ 곡νλ Springμ κΈ°λ₯.
- μ€μ νμΌ μμ΄ annotationμ μ¬μ©νμ¬ κ°λ¨νκ² μ 무λ₯Ό μ²λ¦¬ν μ μλ€.
- DispatherServletμ Main Controllerλ‘ μ¬μ©νλ€.
* DispatherServlet : μ§μ μ , JSPλ‘ μ΄λ. Web.xmlμ λ±λ‘μ΄ λμ΄μΌνλ€.
* HandlerMapper : μΉμ μμ²μ΄ λ€μ΄μ€λ©΄ μμ²μ μ²λ¦¬ν μ μλ Controllerλ₯Ό
μ°Ύμμ λ°ννλ μΌ
* Controller : μΉμ μμ²μ μ²λ¦¬νλ μΌ.
* ViewResolver : μλ΅μ μννλ JSPκ° μ‘΄μ¬νλ μ§ μΆμ νλ μΌ.
* JSP : νλ©΄μ μ μνμ¬ λ³΄μ¬μ£Όλ μΌ.
μ΄μ μ MVCμμλ μμ² URLμ XxxAction ν΄λμ€ νλκ° μ²λ¦¬νλ€.
http://localhost/a.do => XxxAction ν΄λμ€ νλ νμ
μ μ¬ν μμ μΌλ‘ ν΄λμ€λ₯Ό κ΄λ¦¬ν λ €λ©΄ packageλ₯Ό λ§λ€μ΄μ κ΄λ¦¬ => ν¨ν€μ§ κ°μ μ¦κ°
Spring MVCμμλ μμ² URLμ methodνλκ° μ²λ¦¬νλ€.
http://localhost/a.do => XxxController.method() method νλ νμ
μ μ¬ν μμ μ κ΄λ¦¬νκΈ° μν΄μ ν΄λμ€κ° μμ± => ν¨ν€μ§κ°―μ μ¦κ°νμ§ μμ!!
* Controller μμ±λ²
1. ν΄λμ€ μμ @Controller annotationμ μ μΈνλ€.
@Controller
public class Test{
2. methodλ₯Ό μ¬μ©νμ¬ webμ μμ² νλλ₯Ό μ²λ¦¬νλ€.
methodμμ @RequestMapping annotationμ μ¬μ©.
@RequestMapping( value=“/μμ²url”, method=μμ²λ°©μ ) // method = RequestMethod.GET, RequestMethod.POST
public String methodλͺ ( λ§€κ°λ³μ,,,, ){ // λ§€κ°λ³μλ Web parameterλ₯Ό λ°κΈ° μν΄ μ μ
return “viewνμ΄μ§λͺ ”;
}
- Spring MVCμμλ Webμ μμ²μ methodλ‘ μ²λ¦¬νλ€.
* POJO(Plain Old Java Object) μ§μ
- νΉμ μΈλΆ κΈ°μ μ ν¬ν¨νμ§ μκ³ μλ°μμ μ 곡νλ λ°μ΄ν° ν(κΈ°λ₯)λ§
μ¬μ©νμ¬ μ μνλ ν΄λμ€. ( μ€ν λ° ν μ€νΈ μ©μ΄μ±)
* Spring MVCμ Controller(ν΄λμ€)λ νλμ μμ μΌλ‘ λ¬Άμ¬μ§ μ μλ μΈλΆμμ μ μ μ
μ) λ‘κ·ΈμΈ μ²λ¦¬
public class LoginController{
public String loginForm(){
}
public String loginProcess(LoginVO lv){
}
}
* Controllerμμ method μμ²
@RequestMapping : methodμμ μ€μ , URL( URI )λ‘ μμ²μ΄ λ°μνμ λ
methodκ° νΈμΆλμ΄ μ€ν λλ€.
- GETλ°©μ
@RequestMapping(value=“/URI”, method=RequestMethod.GET )
-spring 5.xμ΄μμμλ
@GetMapping(“URI”)
public String method(){
- POSTλ°©μ
@RequestMapping(value=“/URI”, method=RequestMethod.POST )
@PostMapping(“URI”)
public String method(){
- GET| POSTλ°©μ : λ°°μ΄μ λ¬Έλ²μ μ¬μ©
@RequestMapping(value=“/URI”, method={RequestMethod.GET, RequestMethod.POST })
public String method(){
* μλ΅ νμ΄μ§λ μμ²μ μν΄ νΈμΆλλ methodκ° return κ°μ λ°μ ViewResolverκ°μ²΄κ°
μλ΅νμ΄μ§λ₯Ό μ°Ύμ μ€ννλ€.
public String methodλͺ (){
return “viewλͺ ”
}
return λλ κ°μ ViewResolverκ° μμ (prefix) /WEB-INF/views/ λ₯Ό λΆμ΄κ³
λ€ ( suffix )μ .jspλ₯Ό λΆμ¬μ JSPλ₯Ό μ°Ύλλ€.
μ) "test"κ° return λλ κ²½μ°.
/WEB-INF/views/test.jspλ₯Ό μ°Ύλλ€.
μ½μμ°½μ No mappingμ΄ λ¬λ€λ©΄
첫λ²μ§Έλ‘ @Controller μ΄λ Έν μ΄μ μ΄ μ μ€μ λμ΄μλμ§ νμΈνμ. κ·Έλλ No mappingμ΄λΌλ©΄
@RequestMapping μ΄λ Έν μ΄μ μ μ°Ύμμ νμΈν΄λ³΄μ.
μ’ λ νΈνκ² μ¬μ©νλ €λ©΄ μλ μ¬μ§κ³Ό κ°μ΄ @GetMappingκ³Ό @PostMappingμ μ¬μ©νλ λ°©λ²μ΄ μλ€.
Domainμ΄ Modelλ‘
'π κ΅λΉμ§μνμ > πSpring μμ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Spring] νμ 230517(μ) (0) | 2023.07.15 |
---|---|
[Spring] νμ 230516(ν) (0) | 2023.07.15 |
[Spring] νμ 230510(μ) (0) | 2023.07.15 |
[Spring] νμ 230508(μ) (0) | 2023.07.15 |