[Spring] 🔗10)Spring 실습2 게시판 작업을 해보자 테이블 작업을 해준다. root-context.xml 에서 , 로 property 추가해준다. vo 생성해주고 dao인터페이스 생성 (BoardMapper.java) Service인터페이스 생성(BoardService.java) 부모글은 다 단독으로 처리 Service인터페이스 implements할 클래스 생성 컨테이너에 포함되도록 @Service dao(BoardMapper)주입받는다. Controller 생성(BoardController.java) 로그 처리 Service(BoardService)주입받는다 VO에 @어노테이션으로 유효성체크를 해준다. validation에 유효성 메세지 입력한다. 게시판 글 목록 Controller에서 타일스 설정 board.xml생성하고 tile.. 2022. 3. 12. [Spring] 🔗10)Spring 실습1 pom.xml 파일 다운로드가 먼저 동작되게 하기 위해서 servlet-context.xml에서 viewResolver추가하고, 우선순위를 넣어준다. servlet-context.xml 템플릿 작업을 해준다. layout.jsp tiles-def 작업을 하고 controller작업을 해준다. 이 때 servlet-context.xml에서 설정작업이 되어있어야한다. 기본 테스트 완료! 공통 선 작업 table.sql작업을 해주고 1. MemberVO 작업 여기서 @어노테이션을 이용하여 유효성체크하는 방법 이용할 것 2. MemberMapper인터페이스(DAO) 생성 2-1. 자동으로 매핑하니까 클래스 안만든다. 3. MemberService인터페이스 생성 여기서 dao호출하니까 메서드 명을 같이 하는게 헷.. 2022. 3. 8. [Spring] 🔗9) Tiles Framework 인쿠르드액션태그로 사용했었음 ui프레임워크로 ui를 인크루드 방식으로 조합한다. 다양한 형태의 레이아웃을 만들 수 있다. 페이지 모듈화 할 때 많이 쓴다. 단점은 설정파일이 있기때문에 작업량이 많아진다 작업하려면 템플릿이 필요하다 layout.jsp tiles가 커스텀 태그를 제공하기에 설정파일로부터 정보를 읽어서 인크루드하는 방식 pom.xml에 라이브러리를 추가해준다 server-context.xml 에서 오토스캔 설정하고 현재 프로젝트에서는 ㄴ기존의 view Resolver를 사용할 일이 없으므로 지워주고 tiles를 테스트 할 것이기에 tiles가 제공하는 view Resolver를 넣어준다. 만약 기존의 view Resolver도 사용해야한다면 우선순위를 부여해주면 된다. layout.jsp 에.. 2022. 3. 7. [Spring] 🔗8) MyBatis MyBatis MyBatis는 iBatis로부터 파생되었다. iBatis는 Apache에서 만든 프레임워크이지만 2010년 iBatis가 Apache에서 탈퇴하여 Google로 넘어가면서 이름이 MyBatis로 변경되었다. MyBatis 사이트 : https://blog.mybatis.org/ MyBatis 문서 : http://www.mybatis.org/mybatis-3/ko/index.html 기본 공통 셋팅 + 추가된 설정 프로젝트 생성하고 java버전 맞춰준다. pom.xml에 오라클드라이버 설정하는 repositories 넣어주고 라이브러리도 추가해준다. (hibernate -> @Range사용할 때) web.xml에 filter부분을 넣어준다. board형태로 사용할 것이기 때문에 변경해주고.. 2022. 3. 5. [Spring] 🔗6) 로깅처리 로깅 처리 로깅은 시스템의 개발이나 운용 시 발생하는 애플리케이션 내부 정보를 파일이나 콘솔에 출력하여 시스템의 상황을 쉽게 파악할 수 있도록 한다. 우리가 만든 로그를 출력시켜보자. log4j.xml에서 수정을 먼저 해준다. kr.spring이하 경로에 로그처리를 한다. 개발할 때는 info, debug로 하는데 실제 운영할 때는 로그가 많이 쌓이므로 error로 낮춘다 - 로그 레벨 로그 레벨 의미 FATAL 가장심각한 오류 ERROR 일반적인 오류 요청을 처리하는 중 일반적인 에러가 발생한 상태를 나타낸다. WARN 주의를 요하는 경우 처리 가능한 문제이지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타낸다. INFO 런타임 시 관심있는 내용 로그인, 상태 변경과 같은 정보성 메시지.. 2022. 3. 5. [Spring] 🔗4) Spring MVC 스프링 MVC - 스프링 MVC의 주요 구성 요소 구성요소 설명 DispatcherServlet 클라이언트의 요청을 전달받는다. 컨트롤러에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과값을 View에 전달하여 알맞은 응답을 생성하도록 한다. HandlerMapping 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지를 결정한다. 일종의 Actionmap.properties 컨트롤러 (Controller) 클라이언트의 요청을 처리한 뒤, 그 결과를 DispatcherServlet에 알려준다. 스트럿츠의 Action과 동일한 역할을 수행한다. String에서 컨트롤러 = 모델클래스 ModelAndView 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다. 직접적으로 request를 .. 2022. 2. 25. [Spring] 🔗3) AOP 스프링 AOP(Aspect Oriented Programming) AOP(Aspect Oriented Programming)는 로깅과 같은 기본적인 기능에서부터 트랜잭션이나 보안과 같은 기능에 이르기까지 어플리케이션 전반에 걸쳐 적용되는 공통기능을 핵심 기능과 분리해서 모듈로 구현한 뒤 핵심 기능이 수행될 때 필요로 하는 곳에 공통기능이 적용되게 하는 기능이다. 공통의 관심사항을 적용해서 발생하는 의존 관계의 복잡성과 코드 중복을 해소해 주는 프로그래밍 기법이다. 하나의 파일에 1. 내용들을 콘솔에 기능 출력 =>공통기능(로그처리, 보안, 트랜잭션처리) 2. 핵심기능(고유기능)이 동작 3. 로그 출력 => 공통기능 공통기능이 변경될 경우 파일을 다 열어서 수정해야하므로 유지 보수 기능이 떨어진다. 그래서.. 2022. 2. 25. [Spring] 🔗1) IoC컨테이너(Spring 컨테이너) IoC컨테이너(=Spring 컨테이너) IoC가 적용되기 전에는 애플리케이션 수행에 필요한 객체의 생성이나 객체와 객체 사이의 의존 관계를 개발자가 직접 자바 코드로 처리했었다. 하지만 IoC가 적용되면 객체 생성을 자바 코드로 직접 처리하는 것이 아니라 컨테이너가 대신 처리한다. IoC 컨테이너는 자바 객체의 생성, 소멸과 같은 라이프 사이클을 관리하며, 스프링 컨테이너로부터 필요한 객체를 가져와 사용하고 안넣으면 일반적인 객체가되어서 스프링의 기능을 심지못한다. ◎ ClassPathXmlApplicationContext 클래스 : 컨테이너 객체를 생성할 수 있는 클래스 ClassPathXmlApplicationContext("설정정보") : 컨테이너를 생성하면서 설정정보를 넣.. 2022. 2. 24. [Spring] 🔗Spring Framework 웹사이트 제작 시 - Java 변형된 jsp/servlet ↓ - 안정적으로 사용하기위해 j2EE컨테이너만들었음 (EJB) : 특정한 형식으로 압축해서 EJB 전용서버에 올려야하고(=배포) 지원하는 서버로만 사용해야 하므로 웹사이트 제작이 어렵고 복잡 사용자 입장에서는 안정성은 있지만 느리고. 개발자 입장에서는 무겁고 복잡 ↓ - Spring Framework : EJB의 단점을 보완 경량, 단순, 경량 컨테이너 스프링은 EJB(Enterprise Java Beans)의 무겁고 복잡한 플랫폼에서 벗어나, POJO(Plain Old Java Object)기반의 경량화된 개발 환경을 제공하는 오픈소스 프레임워크이다. 소프트웨어 프레임워크 ≒ 뼈대 혹은 기반구조 MVC패턴을 적용한 JSP/Servlet웹사이트.. 2022. 2. 24. [Spring] 🔗basic 잘 생성되는지 확인 테스트해보기 eGovFrameDev의 eclipse를 실행한다 처음 서버로부터 파일을 내려받아서 에러표시가 뜨지만 에러가 사라짐 새로운 프로젝트 생성하기 버전을 변경시켜준다. Web-lib웬만하면 안쓰고 Maven 사용 [ Maven ] 라이브러리 전용 저장소(repository)를 제공하므로, 통합 관리가 가능 메이븐(Maven)은 소프트웨어를 개발할 때 반복되는 작업을 자동화하는 빌드 도구. 메이븐을 사용하면 표준 프로젝트를 일관된 방식과 구조로 관리하고 배포하고 운영할 수 있다. .m2 경로에 메이븐에 의해서 내려받은 파일들이 있다. ▼ 메이븐의 특징 더보기 메이븐의 특징 정형화된 구조와 절차를 제공 : 메이븐은 컴파일(compile),패키징(package),테스트(test) 등.. 2022. 2. 22. 이전 1 다음