Programming/Java13 [Spring Framework] AutoWired BookService는 @Service로 bean을 등록해놓고, BookRepository는 아직 bean으로 등록하지 않았을 때, @Autowired를 통해 의존성을 주입한다 가정 1) 생성자 @Autowired public BookService(BookRepository bookRepository){ this.bookRepository = bookRepository; } 이 코드는 아직 bookrepository가 bean으로 등록되어 있지 않기 때문에 에러가 난다. 따라서 bookRepository에 @Repository를 붙여주면 해결! 2) setter BookREpository bookRepository; @Autowired public void setBookRepository(BookRepo.. 2020. 12. 6. [Spring Framework] 스프링 소개 스프링은 소규모 애플리케이션 또는 기업용 애플리케이션을 자바로 개발하는데 있어 유용하고 편리한 기능을 제공하는 프레임워크! Java EE와 호환관계이지 경쟁관계는 아니다. 최근까지 주로 서블릿 기반 애플리케이션을 만들 때 사용해 옴. 스프링5부터 reactive 프로그래밍을 지원하면서 새로운 프로그래밍 모델이 추가 됨 디자인 철학 모든 선택은 개발자의 몫 ex) 스프링이 특정 영속화 기술을 강요하지 않음 다양한 과점을 지향 (유연성, 비침투성) 하위 호환성을 지킨다 API를 신중하게 설계 높은 수준의 코드 지향 2020. 12. 2. [petclinic] PSA PSA: portable service abstraction 우리가 보고있는 코드에 보다시피 우리는 서블릿 애플리케이션을 만들고 있음에도 불구하고 서블릿을 전혀 쓰고있지 않다. -> OwnerCreateServlet 등을 만들어서 public class OwnerCreateServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest rep, HttpServletResponse resp) throws{ super.doGet(req,resp); } @Override protected void doPost(HttpServletRequest rep, HttpServletResponse resp) throws{ super.doPost.. 2020. 11. 28. [petclinic] AOP 소개 스프링은 크게 IOC AOP PSA, 이 3가지 개념을 제공해주는 스프링 트라이앵글이라는 개념이 있다. AOP 는 aspect oriant program ex) class A{ method a () { AAAA 오늘은 7월4일 미국 독립 기념일 BBBB } class B{ method b () { AAAA 오늘은 아침운동 BBBB } 이렇게 똑같은 코든데 흩어진거의 문제는 뭔가 바꿔야할 때 다 찾아가서 바꿔야한다. 공통적인 코드를 모아놓자! class AAAABBB{ method aaaabbb(JoinPoint point){ AAAA point.execute() BBB } } 이런게 AOP petclinic에서는 @Transactional(readOnly = true), 이게 스프링AOP 기반으로 만들어.. 2020. 11. 28. 이전 1 2 3 4 다음