Java Eco
61
Java EcoTILSpring Framework
스프링 부트에서 RESTful
두 요청의 mapping이 주소가 같으나 RequestMethod가 GET과 POST로 구분 되는것을 알 수 있다. HTML은 POST와 GET방식만 지원하고 PUT, DELETE는 지원하지 않는다. 스프링에서 POST와 GET방식을 이용해 나머지 두가지를 사용할 수 있는 기능을 지원하는데 HiddenHttpMethodFilter가 있다. 스프링 2.1이상에서는 자동으로 필터가 등록된다. HiddenHttpMethodFilter는 _method속성의 파라미터가 존재할 경우 그 값을 요청 방식으로 사용한다. 스프링 부트 2.2부터 기
Java EcoTILSpring Framework
commons-io로 구현하는 Multipart
### 관리 차원에서 후속편 안내 이 글 역시 이 블로그에서 꾸준히 인기가 좋아 commons-io가 아닌 스프링 multipart를 사용한 파일 업로드 기능을 다시 정리해서 올려봤다. 업로드와 다운로드 두편으로 나눠서 올라가고 우선 업로드편 링크를 남긴다. 👉 스프링 부트 Multipart 업로드편 첨부파일의 유효성 검사 파일 전송의 진행률 표시 예외처리 사용자 편의성의 드래그 앤 드롭 기능 → 동일한 이름을 가진 파일이 업로드 될 경우 사용 중인 운영체제에 따라서 저장 되지 않거나 파일명이 바뀌거나 덮어쓰기가 될 수 있다. 이
Java EcoTILJava programming
Collection framework; Collection interface
프로그램을 개발 할 때 사용하는 자료를 관리하는 방법론이 자료구조다. 자료구조는 프로그램 실행 중 메모리에 자료를 유지, 관리 하기 위해 사용한다. Java에서는 필요한 자료구조를 미리 구현하여 java.util 패키지에 제공하고 있고, 이것을 컬렉션 프레임워크 라고 한다. 컬렉션 예제에 사용할 DAO 코드 memberId와 memberName로 이루어진 getter/setter를 가지는 간단한 DAO다. boolean add(E e) : Collection에 객체를 추가한다. void clear() : Collection의 모든
Java EcoTILJava programming
Java; Generics Type
프로그램에서 변수를 선언할 때 모든 변수는 자료형이 있다. 메소드에서 인자를 사용할 때도 자료형을 갖고 있따. 변수나 메소드의 자료형을 필요에 따라 여러 자료형으로 바꿀 수 있다면 프로그램이 훨씬 유연할 것이다. 어떤 갑싱 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍 하는 것을 Generic programming 이라고 한다 Generic 프로그램은 reference 자료형에 대한 검증을 컴파일러가 해 안정적이다. Collection 역시 generic으로 구현되어있다 (ex ArrayList<Stri
Java EcoTILSpring Framework
Spring Boot; Exception
아래의 3가지 방법이 있다. 자바의 방법 : try/catch 사용 컨트롤러 단위 : 각각의 컨트롤러에서 @ExceptionHandler 사용 전역 처리 : @ControllerAdvice을 사용한 전역 예외처리 @ExceptionHandler는 중복코드가 발생한다고 한다.. 여기서 나올 중복 코드가 그 중복이 아닐텐데.. 스프링 3.2에서 추가됨. Annotation만으로 추가 설정없이 예외 처리 가능. @ControllerAdvice : 예외처리 객체임을 알림. @org.springframework.web.bind.annotat
Java EcoTILSpring Framework
Spring Boot; AOP
스프링 부트에서의 AOP도 역시 마찬가지로 적용할 수 있다. slf4j 로깅을 aspect로 등록하는 코드. 예제로써 보자.. 모르는 내가 봐도 좋은 코드는 아닌 것같음. 책에 또 코드 빠져있음…. 따로 bean등록을 하지 않았기 때문에 component scan으로 잡는다. AOP를 사용하기 위해 Aspect 어노테이션을 붙인다. Slf4j 어노테이션으로 slf4j 객체를 주입받는다. (log) Around로 aspect가 작동할 범위를 execution 필터 지정한다. execution : 하위 또는 지정된 클래스나 메소드에 필
Java EcoTILSpring Framework
Spring Boot; Interceptor
스프링의 인터셉터는 어떤 URI를 호출했을 때 요청 컨트롤러가 처리되기 전 또는 후 작업을 하기 위해 사용 된다 (프록시 패턴) 이런 역할은 Filter와 Interceptor로 수행할 수 있다. filter는 dispatcher servlet 앞 단에서 동작 interceptor는 handler로 가기 전 동작 filter는 servlet의 일부 기능이다. interceptor는 spring framework내에 있기 때문에 bean을 사용할 수 있다. filter는 웹 전반에 사용되는 기능을 구현 → RESTful interce
Java EcoTILSpring Framework
Spring Boot; Transactional
코드 기반의 트랜잭션, 어노테이션을 통한 선언적 트랜잭션 두가지를 지원한다. @EnableTransactionManagement : 어노테이션 기반의 트랜잭션 활성화. PlatformTransactionManager : 스프링이 제공하는 트랜잭션 매니져 등록. @Transactional : 트랜잭션 빈으로 트랜잭션 처리됨. AOP_TRANSACTION_ 상수 : Aspect의 필터와 지정대상을 상수로 지정한다. transactionAttribute.setName() : 트랜잭션의 이름 transactionAttribute.setRo