AOP 흐름도
Spring Boot에서의 AOP
1. 메이븐 레파지토리가서 Spring aop starter 복사 후 pom.xml dependency에 추가
2. 인터페이스와 그걸 구현하는 클래스 2개 제작 후 각 클래스 위에 Component를 걸어서 Bean으로 등록
3. CCC 클래스 만들고 상단에 @Aspect 걸기
(@SpringBootApplication은 굳이 여기 말고 아무데나 걸어도 됨)
3-1. 핵심 기능이 실행될 때를 @Pointcut을 걸고 execution으로 어떤 메소드를 잡을건지 밝혀줌
-> Boot에서는 적어도 패키지명까지는 상세하게 적어줘야함 * 남발 금지
3-2. @Before, @After에는 Pointcut에 해당하는 메소드 명만 적는게 아니라 메소드명+ ( ) 까지 적어야 함
4.test에 가서
@Autowired로 기존에 @Component를 선언하고 + 인터페이스를 구현해둔 클래스들을 선언해서 Bean을 주입함
DisplayName = Junit 테스트 결과의 제목임
Boot의 Around 사용하는 문법
Boot의 Afterreturning
+ 오버라이드로 기능을 구현한 클래스에 오버라이드 하지 않은 메소드(반환과 Arguments를 가지고 있는 method) 있을때 Boot는 junit 돌릴때 그냥 돌려도 알아서 AOP 적용돼서 출력됨?
일반 Spring MVC 프로젝트 만드는 방법
1. 메이븐프로젝트 ->인터널의 webapp -> arifact id에 프로젝트명적고 밑에 패키지 뒤쪽 지우기
2. pom.xml에 하단에 plugin들 걸고 필요한 dependency도 가져오기
3. 톰캣 9 에맞는 web.xml로 수정
4.BuildPath -> apply 눌러서 생성
5. Facet가서 톰캣 9 추가
---------------------------------------프로젝트 기본 환경 잡기 끝 ------------------------------------------------------
servlet 설정 시작
1. web.xml 가서 dipatcherservlet 생성 (이름으로 매핑해서 따라갈 수 있도록)
->servlet-mapping 의 url pattern 바꿔주기 /spring/*
2. log4j.xml 복사해서 src/main/resources에 복붙 (log4j 설정이 필요하다면 1/23 3강 30분쯤 다시보기)
3. ctrl 패키지만들고 controller 클래스만든뒤 위에 @Controller 선언 + @Slf4j(디펜던시에 롬복올려야 가능, 로그찍는용)
@RequestMapping -> 이게 doget임 ->@GetMapping(value= " / ") 이라고 해도댐
Model (springframework.ui) -> 이게 request.setAttribute 임 (자동으로 형변환해서 가져옴)
HttpSession -> 알아서 session 얻어와서 바인딩해줌 -> get 해올 필요 없이 선언 후 set만 해주면됨
Spring은 response.sendredirect가 없음
4. bean -xml을 만드는데 우리가 사용했던 servletname에 -servlet 붙여서 만들어야함
생성시 context, mvc 체크하고
1. 생성 완료되면 context:component-scan 선언
2. mvc annotation driven도 생성 (반환타입 체크를 위해)
---------여기까지 다 해주는게 boot의 @springbootapplication임
5. jsp에 컨트롤러에서 선언해준 result, sessionValue EL로 호출 가능
프로젝트 Assembly 세팅
배포 안되는 프로젝트 생성 및 설정
1. java Buil Path의 Source를가보면
test/resources가 없는상태임 -> Add Folder
test 밑에 폴더가없는거니가 test 찍고 Create new Forder -> resources 타이핑해서 생성
2.폴더가 생성은됐지만 배포가 안돼야 하는 test 폴더인데 진한 노란색임(배포가됨)
-> Output folder 더블클릭해서 배포되는 폴더 지정해야함
specific output folder -> Browse -> test- classes 클릭
3. -> contatins test sources를 yes로 바꾸면 폴더가 배포안되는 회색으로 바뀜!
4. 순서 바꾸고싶으면 Order and Export 가서 바꾸면됨
5. Assembly 가보면 test 폴더가 배포되고 있는걸 알수있음 remove 눌러서 지워주면 끝!
구디아카데미 후기/ 국비지원IT개발자 취업 / 전민균 강사님