스프링 AOP(관점지향프로그래밍) OOP(객체지향프로그래밍)을 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법. Aspect Advice와 Joinpoint, Pointcut로 이루어진 모듈. advice는 해야할 일이고 Joinpoint는 시점(이 메소드를 시작할때 이 어드바이스를 끼워넣어라) pointcut은 조건. (A라는 클래스에서 B라는 메소드를 호출할때 이 어드바이스를 호출) AOP 적용방법 컴파일 로드타임 런타임 스프링에서는 런타임. 빈을 만드는 도중에 적용된다.
MessageSource ApplicationContext에 있는 기능. 국제화 기능을 제공한다. ApplicatioEventPublisher ApplicationEvent를 상속받아서 사용하지만 스프링 4.2부터는 상속받지 않아도 이벤트를 사용할 수 있게 되었다. 사용예제 public class MyEvent { private Object source; private int data; public MyEvent(Object source,int data) { this.source=source; this.data=data; } public Object getSource(){ return source; } public int getData(){ return data; } } @Component public ..
원래라면 매일 매일 공부해야 하지만... 야간알바에다가 코드스쿼드 코딩테스트까지 하다보니 피곤해서 공부를 띄엄띄엄 하게 된다.. 코드 스쿼드에 합격하면 아마 공부한 내용을 여기에다가 적을수도 있을것 같다. 스코프 빈을 싱글톤인지 프로토 타입인지 결정하는 타입(?) 이라고 하는 것. 싱글톤 빈을 @Autowired를 사용하면 자동으로 생성,등록이 되는데 그때 등록할때마다 하나의 빈을 사용한다는 것. 프로토 타입 위와 같지만 빈을 등록할때마다 서로 다른 빈을 생성한다. 즉 하나만 쓸꺼냐, 각각 다른것을 쓸거냐의 차이. 기본적으로 모두 싱글톤으로 설정되어있다. 그리고 프로토타입의 경우 프록시가 감싸고 있어서 프록시를 통해 접근해야 하는데 그 이유는 프로토타입을 직접 참조하면 바꿀수가 없어서 그렇다고 한다. 프..
@Autowired 사용법 1. 생성자에 붙인다. @Service public class BookService{ BookRepository bookrepository; @Autowired public BookService(BookRepository bookrepository){ this.bookrepository=bookrepository; } } 이때 BookRepository가 빈이 아닐시, BookService는 생성불가다. 생성자에 BookRepository를 할당해야 하는데 해당하는 빈이 없으므로 생성 할수 없다. 오류가 뜬다. 2.setter에 붙인다. @Service public class BookService{ BookRepository bookrepository; @Autowired pu..
Spring IoC Container: 애플리케이션 컴포넌트의 중앙 저장소. 빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. IoC : Inversion of Control. 의존관계주입이라고도 하며 어떤 객체가 사용하는 의존객체를 직접 만들어서 사용하는 것이 아닌, 주입받아 사용하는 방법. Bean: Spring IoC Container가 관리하는 객체 @Service, @Repository등등 어노테이션이 붙여서 빈으로 등록한다. 스코프 : 싱글톤: 하나의 객체에만 사용 프로토타입: 매번 다른 객체 BeanFactory: Spring의 최상위 인터페이스. 가장 핵심클래스. 빈생성, 빈 가공등을 한다. 의존성 문제: BookService가 BookRepositoryt의 의존관계일때,..
소스코드 HTML LOGO SEARCH MAIL CAFE BLOG IN SHOPPING PAY TV DICTIONARY NEWS WEBTOON css header{ background: tomato; margin:10px; } .search{ width:850px; background: yellowgreen; padding: 30px 0; margin: auto; display: flex; } .logo{ background: peru; width:10%; height:52px; margin-top:2px; } .bar{ background: pink; width: 90%; height:60px; } nav{ background: powderblue; } nav li{ float:left; margin-..