스프링 MVC는 스프링의 서브 프로젝트이다. Spring Legacy Project로 설정한 예제의 경우에도 servlet-context.xml과 root-context.xml로 설정 파일 분리 스프링 MVC 프로젝트의 내부 구조 스프링 MVC 프로젝트를 구성해서 사용한다 = 내부적으로 root-context.xml로 사용하는 일반 Java 영역(POJO) + servlet-context.xml로 설정하는 Web 관련 영역을 같이 연동해서 구동 코드로 배우는 스프링 웹 프로젝트(개정판) - 구멍가게 코딩단
목표 : 스프링 프레임워크와 MyBatis를 연동해서 좀 더 빠르게 SQL을 처리할 수 있는 구조로 만든다. MyBatis란? - 자바의 관계형 데이터 베이스 프로그래밍을 보다 쉽게 도와주는 프레임워크 MyBatis를 왜 사용할까? MyBatis는 흔히 SQL 매핑 프레임워크로 분류되는데, 개발자들은 JDBC 코드의 복잡하고 지루한 작업을 피하는 용도로 많이 사용한다. 즉, JDBC를 보다 편하게 사용하기 위해 개발되었다. 전통적인 JDBC와 MyBatis를 비교해보자. 전통적인 JDBC MyBatis - 직접 Connection을 맺고 마지막에 close() - PreparedStatement 직접 생성 및 처리 - PreparedStatement의 setXXX() 등에 대한 모든 작업을 개발자가 처리..
오라클 설치 1. 오라클 데이터베이스 11g Express Edition 버전 다운로드 2. SQL Developer 20.2 버전 다운로드 SQL Developer에 접속하기 - 계정 이름 : System - 호스트 이름 : localhost - 포트 : 1521 - SID : xe 예제에 사용하는 계정 생성 : System 계정으로 접속 성공 후, 예제에서 사용할 계정 만듦 -> GRANT로 사용자에게 접속(CONNECTION) 권한과 DBA 권한 부여 ※ 8080 포트 변경 오라클 11g 경우 기본적으로 8080 포트 이용해서 웹 환경으로도 데이터베이스 접근 가능 하지만, 웹 개발 시 많이 사용하는 Tomcat의 기본 포트가 8080이기 때문에 동시에 오라클과 Tomcat이 8080 포트를 사용하는..
코드에 사용된 어노테이션들 더보기 Lombok 관련 어노테이션 Spring 관련 어노테이션 테스트 관련 어노테이션 @Setter @Data @Log4j @Autowired @Component @RunWith @ContextConfiguration @Test Lombok 관련 Lombok : 컴파일 시 흔하게 코드를 작성하는 기능들을 완성해주는 라이브러리 @Setter : setter 메서드를 만들어주는 역할 -> Restaurant 클래스를 조사해 보면 오른쪽과 같이 @Setter 메서드가 작성된 것을 볼 수 있음. @Setter에는 3가지 속성을 부여해 줄 수 있다. 속성 의미 value 접근 제한 속성을 의미 기본값은 lombok.AccessLevel.PUBLIC onMethod setter 메서드의..
의존성 주입 테스트 예제를 통해 살펴보자. ex00 프로젝트의 pom.xml에 추가하거나 변경할 라이브러리들이 존재한다. ex00 프로젝트에 패키지(org.zerock.sample)와 클래스(Restaurant, Chef) 생성한다. Chef 클래스에 아래와 같이 작성한다. Restaurant 클래스에 아래와 같이 작성한다. Restaurant 클래스는 Chef를 주입받도록 설계한다. Lombok의 setter를 생성하는 기능과 생성자, toString() 등을 자동으로 생성하도록 @Data 어노테이션을 이용한다. 코드가 의미하는 것은 Restaurant 객체는 Chef 타입의 객체를 필요로 한다는 상황이다. @Component는 스프링에게 해당 클래스가 스프링에서 관리해야 하는 대상임을 표시하는 어노테..
프레임워크 : 뼈대나 근간을 이루는 코드들의 묶음 프레임워크를 이용한다는 의미는 프로그램의 기본 흐름이나 구조를 정하고, 모든 팀원이 이 구조에 자신의 코드를 추가하는 방식으로 개발하게 된다. - 개발에 필요한 구조를 이미 코드로 만들어 놓았기 때문에, 실력이 부족한 개발자라 하더라도 반쯤 완성한 상태에서 필요한 부분을 조립하는 형태의 개발이 가능하다. - 회사) 일정한 품질이 보장되는 결과물을 얻을 수 있다. - 개발자) 완성된 구조에 자신이 맡은 코드를 개발해서 넣어주는 형태이므로 개발 시간을 단축할 수 있다. 1. 복잡함에 반기를 들어서 만들어진 프레임워크 - 복잡함을 해결하기 위해서 나온 경량화된 프레임워크 - 일반적인 JAVA 클래스와 인터페이스를 이용하는 구조이기 때문..