SPRING
-
[SPRING] aspect 환경설정와 AOPSPRING 2021. 8. 24. 14:26
oop(object oriented programming) 와 aop(aspect oriented programming) AOP (Aspect Oriented Programming) : 스프링 핵심 (IoC, DI(결합도 관련) 그리고 AOP) 중 하나. 관점 지향 프로그래밍이다. 흩어진 관심사를 Aspect로 모듈화(어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각 모듈화) 하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것이다. 응집도를 높인다. JoinPoint : 호출하는 모든 비즈니스 메소드이다. joinpoint 중 pointcut 이 선택된다. (ServiceImpl 클래스의 모든 메소드들을 조인 포인트라고 생각하면 된다.) Pointcut : ..
-
[SPRING] 데이터 추가, 변경, 삭제SPRING 2021. 8. 24. 11:45
의존 자동 주입 어노테이션 사용하고, spring jdbc를 이용하여 데이터에 접근하여 코드 구성 src/main/java/com.spring.woori.board/BoardService package com.spring.woori.board; import java.util.List; public interface BoardService { void insert(BoardVO vo); void update(BoardVO vo); void delete(BoardVO vo); BoardVO get(BoardVO vo); List getList(BoardVO vo); } src/main/java/com.spring.woori.board/BoardVO package com.spring.woori.board; i..
-
[SPRING] Spring 의존성SPRING 2021. 8. 21. 13:33
스프링 의존성 관리 방법 : IoC(Inversion of Control) 개발자가 몇가지 데이터를 설정해주면 전체 프로그램 제어를 프레임워크가 하는 것 스프링이 IoC를 지원하는 두 가지 형태 -Dependency Lookup : 컨테이너가 애플리케이션 운용에 필요한 객체를 생성하고 클라이언트는 컨테이너가 생성한 객체를 검색(Lookup)하는 방식 (잘 사용하지 않음) -Dependency Injection : 객체사이의 의존관계를 스프링 설정 파일에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리한다. 의존성 설정을 바꾸고 싶을 때 프로그램 코드를 수정하지 않고 스프링 설정 파일 수정만으로 변경사항을 적용할 수 있다. 유지보수 시 편리하다 (Setter Injection : Setter 메소드 기반 ..
-
[SPRING] Spring ContainerSPRING 2021. 8. 21. 10:51
스프링 컨테이너 종류에는 두가지가 있다. BeanFactory : 객체를 생성하고 관리하는 가장 기본적인 컨테이너 기능 제공. 클라이언트의 요청에 의해서 객체가 생성되는 지연로딩(Lazy Loading) 방식을 사용한다. (스프링 ~3버전/ deprecated 되었다) DefaultListableBeanFactory 객체 인스턴스이다 AbstractRefreshableApplicationContext 에서 따로 생성하고 있다. ApplicationContext : BeanFactory가 제공하는 객체를 관리한다. 컨테이너가 구동되는 시점에 에 등록된 클래스들을 객체 생성하는 즉시로딩(pre loading)방식을 사용한다. (스프링 ~5버전) ClssPathXmlApplivationContext 객체의 인..
-
[spring] 20AUG21 @Autowired @Service @RepositorySPRING 2021. 8. 20. 12:50
환경만들기 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib src/main/java/com.springbook.biz/BoardVO.java 데이터를 주고받을 포맷이다. Serializable로 설정해주면 데이터 전송 시 조각단위가 아니라 하나의 객체로 보낼 수 있으므로 더 효율적이다. package com.springbook.biz.board; import java.sql.Date; public class BoardVO { private int seq; private String title; private String writer; private String content; private Date regdate; private int cnt; public..
-
[spring]의존 자동 주입 어노테이션SPRING 2021. 8. 20. 12:09
@Component로 등록한 빈의 자동 주입은 @Autowired , @Qualifier , @Resource를 사용한다. 1. @Autowired는 같은 타입의 객체를 찾아서 자동으로 할당한다. 찾는 순서는 이름 → 타입 → Qualifier → fail 이다. (객체 의존성을 가질 때, 쉽게 의존성 주입을 받을 수 있다.) spring container는 @Autowired를 확인하면 같은 타입의 객체가 메모리에 존재하는지 확인하고, 객체를 변수에 주입한다. 필드, 생성자, Setter에 사용 가능하다. (만약 메모리가 없다면 NoSuchBeanDefinitionException을 발생시킨다) 2. @Qualifier 는 의존성 주입 대상이 되는 타입의 객체가 두개 이상일 때 오류가 발생하지 않도록 ..
-
[Spring] CollectionSPRING 2021. 8. 19. 16:55
세 가지 유형이 있다. (List, Set, Map) 1. List package com.springbook.ioc.injection; import java.util.List; public class CollectionBean { private List addressList; public List getAddressList() { return addressList; } public void setAddressList(List addressList) { System.out.println(addressList.size()); this.addressList = addressList; } } 서울시 영등포구 부천시 원미구 package com.springbook.ioc.injection; import java...