@Service란, bean등록을 위해 명시해주는 애노테이션이다. [ @Repository ] OR [ @Component ] ->구분해서 사용하자 ! why ? 서비스에 bean 주입이 가능하며 애노테이션이 붙어있는 특정한 기능을 실행할 수 있고, AOP에서 사용하기에도 좋다. Autowired란? -필요한 의존 객체의 "타입"에 해당한느 빈을 찾아 주입한다. [ @Autowired ] - required : 기본값 : true (못 찾으면 구동 실패 ) [ 사용할 수 있는 위치 ] -생성자 (스프링 4.3부터는 생략 가능) -setter - filed [ 경우의 수 ] -해당 타입의 빈이 없는 경우 -해당 타입의 빈이 한 개인 경우 -해당 타입의 빈이 여러개인 경우 -> 빈 이름으로 시도, - 같은 ..
[ Spring IoC 컨테이너 ] -BeanFactory -애플리케이션 컴포넌트의 중앙 저장소. -빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. -Inversion of Control : 의존 관계 주입(Dependency Injection) 이라고 한다. -의존 객체를 직접 만들어 사용하는게 아니라 , 주입 받아 사용하는 방법 의존성 주입을 하고 싶을 경우 bean이 되어야한다. [ bean ] Spirng IOC 컨테이너에 등록되는 baen들은 기본적으로 single ton Scope로 등록이 된다. -single ton ->1개만 만들어서 사용하는 것. -프로토타입 ->매번 다른 객체를 만들어서 사용하는것. bean으로 등록 되면 좋은 장점 -라이프사이클 인터페이스 지원. ..
RedirectAttributes 폼 형식의 문서를 작성 후, 서버로 보내면(POST 방식) 곧이어 다른 페이지로 리다이렉트 한다. 문제는 이러한 리다이렉트 방식이 GET 방식 이라 데이터 전송에는 적절하지 않다. 리다이렉트의 특징은 다음 그림과 같다. spitter객체를 보내려고 한다. 리다이렉트가 발생하면 원래 요청은 끊어지고, 새로운 HTTP GET 요청이 시작된다.(브라우저에게 이 URL로 리다이렉트해!) 때문에 리다이렉트 실행 이전에 수행된 모델 데이터는 소멸한다. 따라서 리다이렉트로 모델을 전달하는 것은 의미 없다. 그러나 리다이렉트 방법으로도 데이터를 전달하는 방법이 있다. GET의 특징을 사용하는 것이다. 리다이렉트는 HTTP GET 메소드 방식이라고 앞서 말했다. GET방식은 아래 그림..
Ajax로 호출한 다음, 결과값을 alert으로 한글을 띄우려는데 자꾸 ???? ???? 로 나오는 것이었다. 서버 코드 @RequestMapping(value = "/add") public @ResponseBody String add() { return "성공했음"; } view 코드 $.ajax({ url : '/add', success : function(data) { alert(data); } }); 구글신을 통해 여러가지 방법을 시도해봤다. 1) jsp상단에 추가 이래도 안됨 2) ajax 코드에 추가하고 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 서버에서 스트링을 UTF-8로 디코딩함 이래도 안됨 3) applicatio..
AJAX(Asynchronous JavaScript and XML)은 여러 상황에서 사용되는데... 매번 사용할때마다 어떻게하는지 검색하고 애먹는경우가 많다. 그래서, 이 글만 보고 완벽하게 다시 사용할수 있도록 정리해볼려고 한다. AJAX는 단순히 텍스트값만 넘길수도 있고, form을 넘길수도 있고, 파일 업로드와 같이 웹개발에서 중요한 역할을 해주기때문에.... AJAX만 잘 알아도 개발하는데 시간단축이 된다. AJAX는 비동기식 방법으로 데이터에 접근하는 거라고한다. 쉽게 말하면 그냥 브라우저에서 새로고침하지 않고도 데이터값을 변경할수 있는 것이다. 대표적으로 AJAX가 사용된 사례는 각종 포털사이트의 인기검색어 혹은 연관검색어이다. 그럼 유형별로 하나씩 써보자. AJAX데이터를 담을 Jamong ..