μ€νλ§ λΆνΈμμ μλΈλ¦Ώ μ¬μ©νκΈ° @ServletComponentScan @WebServlet(name = "helloServlet", urlPatterns = "/hello") protected void service(HttpServletRequest request, HttpServletResponse response) : HTTP μμ²μ ν΅ν΄ 맀νλ URLμ΄ νΈμΆλλ©΄ μλΈλ¦Ώ 컨ν
μ΄λλ λ€μ λ©μλλ₯Ό μ€ν HTTP μμ² λ°μ΄ν°λ‘ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ λ°μ΄ν°λ₯Ό μ λ¬νλ λ°©λ² 1. GET - 쿼리 νλΌλ―Έν° /url?username=hello&age=20 String username = request.getParameter("username"); //λ¨μΌ νλΌλ―Έν° μ‘°ν Enumeration parameterN..
Study/Spring
λΉ μ€μ½ν λΉμ΄ μ‘΄μ¬ν μ μλ λ²μ. @Scope("prototype")λ‘ μ§μ κ°λ₯ μ±κΈν€ : κΈ°λ³Έ μ€μ½νλ‘ μ€νλ§ μ»¨ν
μ΄λμ μμκ³Ό μ’
λ£κΉμ§ μ μ§ λ¨ νλ‘ν νμ
: μ€νλ§ μ»¨ν
μ΄λλ νλ‘ν νμ
λΉμ μμ±κ³Ό μμ‘΄κ΄κ³ μ£Όμ
κΉμ§λ§ κ΄μ¬νκ³ λλ κ΄λ¦¬νμ§ μλ λ§€μ° μ§§μ λ²μμ μ€μ½ν ν΄λΌμ΄μΈνΈμ λΉμ λ°ννκ³ , μ΄ν μ€νλ§ μ»¨ν
μ΄λλ μμ±λ νλ‘ν νμ
λΉμ κ΄λ¦¬νμ§ μλλ€. νλ‘ν νμ
λΉμ κ΄λ¦¬ν μ±
μμ νλ‘ν νμ
λΉμ λ°μ ν΄λΌμ΄μΈνΈμ μλ€. κ·Έλμ @PreDestroy κ°μ μ’
λ£ λ©μλκ° νΈμΆλμ§ μλλ€. μΉ κ΄λ ¨ μ€μ½ν request: μΉ μμ²μ΄ λ€μ΄μ€κ³ λκ°λ κΉμ§ μ μ§λλ μ€μ½ν session: μΉ μΈμ
μ΄ μμ±λκ³ μ’
λ£λ λ κΉμ§ μ μ§λλ μ€μ½ν application: μΉμ μλΈλ¦Ώ 컨ν
μ€νΈμ κ°..
μ€νλ§ λΉμ λΌμ΄ν μ¬μ΄ν΄ μ€νλ§ λΉμ κ°λ¨νκ² λ€μκ³Ό κ°μ λΌμ΄νμ¬μ΄ν΄μ κ°μ§λ€. β‘οΈ κ°μ²΄ μμ± -> μμ‘΄κ΄κ³ μ£Όμ
μ€νλ§ λΉμ κ°μ²΄λ₯Ό μμ±νκ³ , μμ‘΄κ΄κ³ μ£Όμ
μ΄ λ€ λλ λ€μμμΌ νμν λ°μ΄ν°λ₯Ό μ¬μ©ν μ μλ μ€λΉκ° μλ£λλ€. λ°λΌμ μ΄κΈ°ν μμ
μ μμ‘΄κ΄κ³ μ£Όμ
μ΄ λͺ¨λ μλ£λκ³ λ λ€μμ νΈμΆν΄μΌ νλ€. κ·Έλ°λ° κ°λ°μκ° μμ‘΄κ΄κ³ μ£Όμ
μ΄ λͺ¨λ μλ£λ μμ μ μ΄λ»κ² μ μ μμκΉ? μ€νλ§μ μμ‘΄κ΄κ³ μ£Όμ
μ΄ μλ£λλ©΄ μ€νλ§ λΉμκ² μ½λ°± λ©μλλ₯Ό ν΅ν΄μ μ΄κΈ°ν μμ μ μλ €μ£Όλ λ€μν κΈ°λ₯μ μ 곡νλ€. μ€νλ§μ μ€νλ§ μ»¨ν
μ΄λκ° μ’
λ£λκΈ° μ§μ μ μλ©Έ μ½λ°±μ μ€λ€. λ°λΌμ μμ νκ² μ’
λ£ μμ
μ μ§νν μ μλ€. μ€νλ§ λΉμ μ 체 μ΄λ²€νΈ λΌμ΄νμ¬μ΄ν΄ β‘οΈ μ€νλ§μ»¨ν
μ΄λμμ± -> μ€νλ§λΉμμ± -> μμ‘΄κ΄κ³μ£Όμ
..
μλ λΉ λ±λ‘ (μ»΄ν¬λνΈ μ λ
Έν
μ΄μ
μ΄ λΆμ κ²λ€μ μ μΈνκ³ ) @Beanμ ν΅ν΄ λ±λ‘λλ κ². AppConfigμ κ°μ΄ μλ° μ€μ νμΌμ μΆκ°νμ¬ μλ λΉ λ±λ‘νλ©΄ λλ€. μλ λΉ λ±λ‘μ μΈμ μ¬μ©νλ©΄ μ’μκΉ? 1. κΈ°μ μ§μ λΉ μ ν리μΌμ΄μ
μ ν¬κ² μ
무 λ‘μ§κ³Ό κΈ°μ μ§μ λ‘μ§μΌλ‘ λλ μ μλ€. μ
무 λ‘μ§ λΉ: μΉμ μ§μνλ 컨νΈλ‘€λ¬, ν΅μ¬ λΉμ¦λμ€ λ‘μ§μ΄ μλ μλΉμ€, λ°μ΄ν° κ³μΈ΅μ λ‘μ§μ μ²λ¦¬νλ 리ν¬μ§ν 리λ±μ΄ λͺ¨λ μ
무 λ‘μ§μ΄λ€. λ³΄ν΅ λΉμ¦λμ€ μꡬμ¬νμ κ°λ°ν λ μΆκ°λκ±°λ λ³κ²½λλ€. μ
무 λ‘μ§μ μ«μλ λ§€μ° λ§κ³ μ μ¬ν ν¨ν΄μ κ°μ§κ³ μλ€. λ³΄ν΅ λ¬Έμ κ° λ°μν΄λ μ΄λ€ κ³³μμ λ¬Έμ κ° λ°μνλμ§ λͺ
ννκ² νμ
νκΈ° μ½λ€. κΈ°μ μ§μ λΉ: κΈ°μ μ μΈ λ¬Έμ λ κ³΅ν΅ κ΄μ¬μ¬(AOP)λ₯Ό μ²λ¦¬ν λ μ£Όλ‘ μ¬μ©λλ€...
μμ‘΄κ΄κ³ μλ μ£Όμ
μμ±μ μ£Όμ
μμ±μλ₯Ό ν΅ν΄μ μμ‘΄κ΄κ³λ₯Ό μ£Όμ
λ°λ λ°©μ λΆλ³, νμ μμ‘΄κ΄κ³μ μ¬μ© μμ±μκ° λ± 1κ°λ§ μμΌλ©΄ @Autowiredλ₯Ό μλ΅ν΄λ μλ μ£Όμ
λλ€. μμ μ μ£Όμ
μ ν, λ³κ²½ κ°λ₯μ±μ΄ μλ μμ‘΄κ΄κ³μ μ¬μ© νλ μ£Όμ
νλμ λ°λ‘ μ£Όμ
νλ λ°©λ² μ½λκ° κ°κ²°νμ§λ§ μΆν λ³κ²½μ΄ λΆκ°λ₯ν΄ ν
μ€νΈ νκΈ° μ΄λ ΅λ€λ λ¨μ μ΄ μλ€. λλλ‘μ΄λ©΄ μ¬μ©νμ§ λ§κ³ ν
μ€νΈ μ½λμμλ§ μ¬μ©νλλ‘ νμ μΌλ° λ©μλ μ£Όμ
μΌλ° λ©μλλ₯Ό ν΅ν΄ μ£Όμ
λ°μ μ μμ§λ§ μΌλ°μ μΌλ‘ μ μ¬μ©νμ§ μλλ€ μ΅μ
μ²λ¦¬ μ£Όμ
ν μ€νλ§ λΉμ΄ μμ΄λ λμν΄μΌ ν λκ° μλ€. μ΄λ΄λ μ΅μ
κ°μ μ΄μ©ν΄ μ²λ¦¬νλ©΄ λλ€. @Autowired(required=false) : μλ μ£Όμ
ν λμμ΄ μμΌλ©΄ μμ μ λ©μλ μμ²΄κ° νΈμΆ μλ¨ org...