스프링 25

[Spring] 14. Spring Legacy Project 만들기

이번에는 Spring Legacy Project로 프로젝트를 만들고 실행해보도록 하겠습니다. 먼저 Project Explorer에 new - other - spring을 검색하면 Spring Legacy Project를 선택해줍니다. 그다음 프로젝트명을 임의로 정해서 적어주고(저는 SpringMVC01로 했습니다.) Templates에 Spring MVC Project를 누르고 Next를 눌러줍니다. 그럼 보기와 같은 창이 나오는데 top-level 패키지를 지정해달라고 합니다. 우선 com.mvc.hello로 만들어줍니다. 이 부분은 패키지가 이렇게 자동으로 설정되게 도와줍니다. 여기서는 다른 설정 없이 바로 실행해보면 이렇게 왜인지 모르겠지만 한글이 깨져서 나옵니다. 하지만 코드를 조금만 손보면 한글..

Java/Spring 2021.07.31

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 에러

SpringMVC의 view 부분에 jsp파일을 만들던 도중 이러한 에러가 발생했다. ctrl + a -> ctrl + x -> ctrl + v 해봐도 여전했다. 구글링을 통해 찾아보니까 서버 쪽 에러라고 한다. 응? 나 근데 왜 서버 잘 연결되어있는데... 다시 찾아보니 Project Facets쪽 연결을 확인해보라고 한다. 이 부분에 체크가 풀려있었는데 다시 체크하고 Apply and Close 시키면 에러가 사라져 있는 걸 확인할 수 있다.

Java/Error 2021.07.31

[Spring] 13 -* Spring MVC ( Task tag를 이용한 TODO주석 표시)

이번에는 스프링에 대한 개념보다는 좀 더 수월하게 사용하기 위한 Task tag기능을 사용해보려고 합니다. (저번 포스팅의 내용을 그대로 사용하여 설명하겠습니다.) 우선 저번 포스팅에서의 흐름대로 설명을 주석으로 써보자면 우선 첫 번째로 pom.xml에 dependency 추가 2. web.xml에 listener랑 DispatcherServelet 추가 3. hello-servlet.xml에서 package 읽어서 객체 생성하기 4. Controller에서 hello.do로 넘어온 요청을 처리해 biz(service)로 넘겨준다. 5. biz(service)에서 dao(repository)로 넘겨준다. 6. dao(repository)에서 db에 값을 보내고 응답받아 biz로 전달한다. (여기는 실제로..

Java/Spring 2021.07.13

[Spring] 13. Spring MVC

이번에는 SpringMVC에 대해 설명해보도록 하겠습니다. 먼저 SpringMVC을 간단하게 설명하자면 SpringMVC란? - 스프링 프레임워크에서 지원하는 SpringMVC는 모델-뷰-컨트롤러(MVC)구현을 포함하여 도메인 모델 코드와 웹 폼을 깔끔하게 분리할 수 있도록 한다. - 스프링 프레임워크의 다른 기능과 통합할 수 있게 하며, MVC 기반의 웹 프로그램 개발을 효율적으로 할 수 있도록 지원한다. SpringMVC 특징 - Spring Framework의 다른 모듈과의 연계가 용이하다. - 컨트롤러, command 객체, 모델 객체, Validator 등 각각의 역할에 대한 명확한 분리가 되어있다. - Form 객체 없이 사용자 지정 가능한 데이터 바인딩과 유효성 체크를 지원한다. - 어떠한 ..

Java/Spring 2021.07.08

[Spring] 12 -3 AOP 적용하기 (Component + 심화)

이번에는 component-scan을 이용해서 AOP를 적용해보도록 하겠습니다. 바로 패키지 만들러 가볼까요 ~ Student.java (interface) package com.test06; public interface Student { void classWork(); } StudentA.java package com.test06; public class StudentA implements Student { @Override public void classWork() { System.out.println("컴퓨터를 켜서 뉴스를 본다."); } } StudentB.java package com.test06; public class StudentB implements Student { @Override ..

Java/Spring 2021.07.06

[Spring] 12 -2 AOP 적용하기 ( Annotation - Before, After, AfterReturning, AfterThrowing)

이번엔 annotation을 사용하여 aop를 적용해보도록 하겠습니다. com.test04 패키지 만들어주세요 Student.java (interface) package com.test04; public interface Student { public String classWork(); } StudentA.java package com.test04; public class StudentA implements Student { @Override public String classWork() { System.out.println("컴퓨터를 켜서 뉴스를 본다."); return "스프링 연습"; } } StudentB.java package com.test04; public class StudentB impl..

Java/Spring 2021.07.05

[Spring] 12 -1 AOP 적용하기 ( Namespace - aop)

저번 포스팅에 이어서 이번에는 AOP를 적용하는 방법중에 namespace를 이용하는 방법을 사용해보겠습니다. 바로 패키지 만들러 가볼까요~ Student.java(interface) package com.test03; public interface Student { void classWork(); } StudentA.java package com.test03; public class StudentA implements Student { @Override public void classWork() { System.out.println("컴퓨터를 켜서 뉴스를 본다."); } } StudentB.java package com.test03; public class StudentB implements Stude..

Java/Spring 2021.07.04

[Spring] 12. AOP - 기본 개념 ( CC, CCC, Joinpoint, ...)

오늘은 스프링의 AOP에 대해서 공부해보겠습니다. AOP ( Aspect Oriented Programing) - 관점지향 프로그래밍이라고 합니다. AOP에 사용되는 용어들을 간단히 정리해보자면 CC (Core Concern) : 주 관심사항 CCC (Cross Cutting Concern) : 공통 관심사항 Joinpoint : 인스턴스의 생성시점과 메소드를 실행하는 시점, Exception이 발생하는 시점같이 애플리케이션이 실행될 때 특정 작업이 실행되는 시점 Pointcut : 어떠한 Joinpoint에 적용되어야 하는지 정의 Advice : Pointcut에서 지정한 Joinpoint에서 실행(삽입) 되어야 하는 코드로 Aspect의 실제 구현체 Aspect : Advice + pointcut 으..

Java/Spring 2021.07.03

[Spring] 11. Annotation - Component

오늘은 지난번 포스팅에 이어서 spring의 어노테이션 중 하나인 Component에 대해 공부해볼까 합니다. 이번에는 이라는 태그를 사용해서 객체생성과 값 연결을 같이 해보도록 하겠습니다. 패키지를 만들러 가봅시다. TV.java(interface) package com.test03; public interface TV { void powerOn(); void powerOff(); void volumeUp(); void volumeDown(); } IgTV.java package com.test03; public class IgTV implements TV { public IgTV() { System.out.println("ig tv 생성"); } @Override public void powerOn(..

Java/Spring 2021.06.26

[Spring] 10. Annotation - autowired

오늘은 spring의 어노테이션 중 하나인 autowired에 대해 공부해볼까 합니다. (저번에 포스팅한 autowire 속성과 쓰는 방법만 다르지 기능 자체는 같습니다.) https://darmk.tistory.com/entry/Spring-08-bean-%EC%86%8D%EC%84%B1-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Autowire [Spring] 08. 속성 사용하기 - Autowire 오늘은 spring의 bean속성 중 autowire라는 기능에 대해 정리해보려고 합니다. 새로운 프로젝트부터 만들러 가볼까요? (프로젝트는 그냥 큰 구분을 위한 것일 뿐 굳이 새로 안 만들어도 상관없습니다. darmk.tistory.com 바로 패키지부터 만들러 가보겠습니다. S..

Java/Spring 2021.06.25