본문 바로가기

spring

@component : @Service,@Repository,@Controller 스프링 설정 파일에서 아래와 같이 객체를 생성할수 있다. 하지만 위와 같은 방법 보다는 아래와 같이 자바에서 어노테이션을 사용하기도 하며 더 편하다. 실무에서도 더 많이 사용되는 방법이다. :@Service()public class SenderProcess {: @Service 대신 @Component 어노테이션을 사용해도 되지만 가독성을 위해서(무슨 행위를 위한 클래스인지 구별하기 위해서) @Service나 @Repository 어노테이션을 사용해줌 물론 @Component 어노테이션을 사용해도 상관없다. 이렇게 생성하게 되면 궁금해지는 점이 하나있다. 설정파일에서 직접 명시해 줬던 id가 어노테이션을 사용하면 어떻게 설정되는가? 이다. 직접 설정하기 위해서 @Service() 의 괄호안에 직접 명시해.. 더보기
@Autowired @Autowired는 property injection을 위한 어노테이션이다. 스프링 설정파일에서 변수에 데이터나 객체를 주입해 주기 위한 태그를 대신해주는 어노테이션이라 할 수 있다. 태그는 해당 변수의 setter를 이용하여 속성 주입(property injection)을 한다면 autowired는 setter메소드에 사용해도 되고 변수에 직접 사용해도 된다. 예를 들어 아래와 같이 해줘도 되지만 private Sender sender; @Autowiredpublic void setkbs(Sender sender) {//Autowired로 설정할 메소드 이름은 중요하지 않다.this.sender = sender;} 아래와 같은 경우도 가능하며 더 간편하다. 실제로 권장하는 방법 @Autowiredpr.. 더보기
@Required 얘 대신 아래 context 를 써도 됨(물론 namespace에 context가 추가 되어 있어야함 자바에서는 @Required 어노테이션을 사용해서 해당 setter의 property 값을 무조건 줘야함을 명시한다. @Requiredpublic void setRequired(int required) {this.required = required;} 참고 : 설정은 어노테이션을 사용하겠다는 설정이며 @Required 어노테이션에만 해당되는 것이 아닌 모든 어노테이션에 해당되는 설정이다. 더보기
스프링 컨테이너 package pack; public class MessageImpl implements MessageInter{@Overridepublic void sayHello(String name) {System.out.println("안녕하세요 " + name + "님.");}} ========================================================================================== package pack; public class MessageImpl2 implements MessageInter{@Overridepublic void sayHello(String name) {System.out.println("반가워요 " + name + "씨.");}} =.. 더보기
스프링 시큐리티 설정 스프링 시큐리티 설정1. web.xml에서 아래와 같이 설정한다.context-param 태그로 시큐리티 환경설정 파일의 이름을 지정해준다.contextConfigLocation/WEB-INF/applicationContext.xml::/WEB-INF/security-context.xml filter 태그를 이용하여 시큐리티 설정을 한다.springSecurityFilterChainorg.springframework.web.filter.DelegatingFilterProxyspringSecurityFilterChain/* 2. security-context.xml 에서 다음과 같이 설정한다(어노테이션을 이용한 설정) 3. java에서 어노테이션을 이용하여 설정해준다.1) controller.java에서 .. 더보기
트랜젝션 처리하기(연관된 일련의 작업이 실행도중 실패하면 그전 성공했던 작업을 취소하는 작업) DemoController.java package com.sp.demo; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod; @Controller("demo.demoController")public class DemoController {@Autowiredpri.. 더보기
AOP 구조를 이해하는 예제3(어노테이션을 이용한 예제) applicationContext.xml =========================================================================================================================================================DemoService.java package com.demo3.core; public interface DemoService {public void save(String value);public void write();}===================================================================================================.. 더보기
AOP 구조를 이해하는 예제2(MethodInterceptor) applicationContext.xml =========================================================================================================================================================DemoService.java package com.demo2; public interface DemoService {public void setValue(String value);public String getValue();}===============================================================================================.. 더보기