th:with= 태그안에서 사용할 변수 선언
AOP(Aspect Oriented Programming) 관점이란 개발에 있어서, 관심사(Concern)를 의미한다. 코드의 중복을 줄일 수 있으며, 핵심 로직과 주변 로직을 분리하여 관리할 수 있다. - 파라미터가 잘 전달 되었는가? - 이 로직에서 발생할 수 있는 모든 예외 처리 핵심 로직은 아니지만 반복적으로 개발에 필요한 관심사들을 주변 로직이라고 한다. 따라서 AOP는 이러한 주변 로직을 횡단 관심사로 분리하여 작성하고 종단 관심사인 핵심 비지니스 로직만을 작성하도록 한다. 예) 나눗셈 프로그램 개발 시 두 개의 숫자를 나누는 것(핵심, 종단) 0으로 나누는 지 검사하는 것(주변, 횡단) 즉, 반복적으로 나타나는 횡단 관심사를 모듈로 분리한 후 적절한 시점에 로직을 주입하는 것이 AOP이다. ..
order project 조회, 전체 조회 숙제풀이 중단점(디버깅) 왼쪽에 빨간 점: 중단점 디버그 -> 톱니바퀴 기계로 컴퓨터가 돌아감. 세계 최초의 exception -> 톱니바퀴 사이에 벌레가 들어가 있어서 오류가 생김. 버그를 없애자, 오류를 해결하자, 오류를 검사하자 -> 디버그 중단점을 설정해서 여기서부터~여기까지 한줄씩 검사를 해보겠다. 디버깅상태를 눌러주면, 한줄씩 번역 가능. -> 너무 오래 걸리니까 단위테스트로 발전 @Controller Bean을 등록한다? > 어떤 영역에 저장이 된다. ApplicationContext : Bean을 관리해주는 객체, context영역을 관리하는 객체 Context : 메모리 상의 임시영역을 쓴다, context가 있으면 임시로 메모리에 올려놓고 필요..
어떤 태그든지 안에 selectKey태그를 쓸 수 있다. order="" >> 안에 쿼리를 언제 실행할 지 순서를 정해준다. before(insert 전에), after(insert 후에) 시퀀스의 nextval > 다음 번호를 select 시퀀스의 currentval > 현재 번호를 select select 한 것을 keyProperty로 전달받은 파라미터의 객체로 들어간다. 메소드의 파라미터 resultType의 결과로 들어간다. keyProperty 내용을 필드명과 동일하게 써야 파라미터의 필드가 정확히 매핑이 될 수 있다. public int insert(BoardVO boardVO) boardVO의 boardNumber로 들어간다. insert에서 전달받은 boardNumber를 그대로 사용하면..
1.프로젝트 만들고 설정, DB 세팅 2.mapper.xml > 쿼리 작성 // 파라미터 타입은 생략 가능(메소드 매개변수로 판단), resultType은 리턴타입과 맞춰주기 3.mapper.java > 인터페이스 생성 // @Mapper 4.config에서 alias 작성 5.mapperTest.java > 단위테스트 실시 6.DAO(JPA를 배우면 jpa repository로 바뀔 예정) - 자바스럽게 바꿔주는 역할 7.dao 단위테스트 persistence tier 끝 --------------------------------------- business tier 시작 8.service > 인터페이스 생성 // @Service 9.service > 구현 클래스 생성 // @Service 10.ser..
File > new > project Spring initializr > project SDK : 11 java version > Next Artifact : 프로젝트명 > Type : Maven Project > Java Version : 11 > Version : 1.0(또는 수정X) > Description : 프로젝트설명 > Next 필요한 거 클릭 Quartz Scheduler : 실시간으로 돌아가는 스케줄러 > Next Project name, location 확인 > Finish This Window : 현재 창에 뜨게 하기 New Window : 새로운 창에 뜨게 하기 1).properties 설정적기 : 포트번호, 서버연결 등 2)mybatis 연결(mybatis, config) 3)po..
favicon 링크태그 추가하면 끝!
MVC모델 쓰는 이유 1.분업 2.소스코드 간결화 > 모듈화 모듈 : 부품 각각의 목적에 맞게끔 클래스를 만들어서 분리를 하자 수직관계로 분리 > 티어(Tier) 3-tier 스프링 프로젝트는 3-tier 방식으로 구성한다. [Presentation Tier - 화면 계층] 화면에 보여주는 기술을 사용하는 영역. 컨트롤러에서 사용자의 요청에 맞는 응답처리를 진행하며, HTML엔진(Thymeleaf), HTML등이 담당하는 영역이다. 화면 구성이 이에 속한다. [Business Tier - 비지니스 계층] 순수한 비지니스 로직을 담고 있는 영역. 고객이 원하는 요구사항을 반영하는 계층이기 때문에 서비스에 있어서 가장 중요한 영역이다. 이 영역의 설계는 고객의 요구 사항과 정확히 일치해야 하며, 서비스 영역..