basic/spring 25

[spring 11] Spring Test

스프링 테스트 ☑ TDD Test Driven Development : 테스트 주도 개발 만들고자 하는 기능을 담고 있는 테스트 코드를 먼저 만들고, 그 테스트가 성공하도록 하는 코드를 작성하는 방법 ☑ 단위테스트 unit test : 작은단위의 테스트, 개발자 테스트, 프로그래머 테스트 하나의 관심에 집중해서 효율적으로 테스트할 만한 범위를 단위라고 본다. 작을 수록 좋다. 테스트 세팅 1. 라이브러리 spring-test 추가 2. JUnit 프레임워크 사용 자바 테스팅 프레임워크로 이클립스에 이미 존재함 properties > path > library > JUnit4 라이브러리 배치 JUnit ☑ JUnit 프레임워크 사용시 테스트 클래스 요구 조건 1. 테스트 적용 메소드 public 선언 2...

basic/spring 2021.08.16

[spring 10] AOP

Spring AOP Aspect Oriented Programming • 여러 객체에 공통적으로 적용할 수 있는 기능을 분리해서 재사용성을 높여 핵심기능 구현을 분리함으로써 핵심기능 구현 코드 수정없이 공통기능을 적용할 수 있게 만들어줌 💡 ∙ 관점지향 : AOP 문제를 바라보는 관점을 기준으로 프로그래밍을 하는 기법을 말함 ∙ 횡단관점 (관심사) 분리 : 프로젝트 개발시 어떤 관점에서 분리시킬지 연구하는것 핵심 비지니스 로직과 구분하기 위해 공통기능을 횡단관점/횡단관심사(cross-cutting concern) 이라고 한다 proxy 프록시 • 핵심 기능의 실행은 다른객체에 위임하고 부가적인 기능을 제공하는 객체를 말함 • 핵식기능 구현대신 여러 객체에 공통적으로 적용할 수 있는 (부가)기능 구현 • ..

basic/spring 2021.08.12

[spring 09] 게시판 만들기

게시판 폴더 구조 [src] spring.board.controller ▸BoardController spring.board.dao ▸BoardDAO(interface) ▸BoardDAOImpl spring.baord.dto ▸BoardDTO spring.board.service ▸BoardService (interface) ▸BoardServiceImpl sql boardSQL.xml [WEB-INF] spring ▸board-context.xml views - board ▸게시판 jsp 파일들 DB 테이블 springboard DTO BoardDTO 생성 *mybatis-config.xml > alias 추가 sql mapper sql > boardSQL.xml * mybatis-config.xml ..

basic/spring 2021.08.10

[spring 09] Ajax

💡 ∙ 동기 방식 : 서버에 신호를 보냈을때 응답이 돌아와야 다음 동작 수행 가능 ∙ 비동기 방식 : 신호를 보냈을때 응답상태와 상관없이 다음 동작 수행 가능 Ajax (Asynchronous JavaScript and XML) • 비동기 방식의 JS와 XML을 말함 • Ajax 사용이유 : 화면전환 없이 클라이언트와 서버간의 XML, JSON, 텍스트, HTML 등 정보교환을 하기 위해서 Ex) 페이스북 댓글과 게시판 댓글시 페이지 변환없이 등록, 지도 Ajax 관련 메소드 ☑ load() : 사용자가 지정한 URL 주소에 데이터를 전송하고 외부 컨텐츠를 요청하여 가져올때 사용. 요청한 컨텐츠를 이용하여 선택한 요소의 내용 변경 가능 $("요소선택").load(url, data, 콜백함수) ▪ url ..

basic/spring 2021.08.10

[spring 08] jQuery

jQuery • John Resig이 자바스크립트를 이용하여 만든 라이브러리 언어 • 함수들의 집합 특징 1. 호환성 문제 해결 : DOM과 이벤트 객체 호환성이 덜어지는 단점이 있었다 2. 쉬운 이벤트 등록, 애니메이션 효과 구현 라이브러리 배치 📃 https://jquery.com/download/ 1. 다운로드 (on/offline) download ▹ Download the... ▹ 이상한 글씨의 페이지가 열리고 ▹ ctrl + s 페이지 저장 ▹ jquery-3.?.?.min.js 파일로 자동 저장된다 ▹ 저장된 파일을 resource 폴더에 배치 (WEB-INF 안에는 넣으면 안됨) 2. cdn 방식 (online) 선택자 ∙ HTML 요소 선택해서 가져옴 ∙ CSS 선택자와 마찬가지로 디자인..

basic/spring 2021.08.09

[spring 07] 회원가입

스프링 회원가입 1) 프로젝트 생성 다이나믹 웹 프로젝트 만들기 ▹ 메이븐으로 업데이트 ▹ pom 작성 ▹ web.xml 작성 ✔ [src] spring.member.controller : 컨트롤러 클래스 ▸memberController spring.member.dao : DAO spring.member.dto : DTO spring.member.service : 비지니스로직처리 클래스들 sql : mapper ▸memberSQL.xml ✔ [WebContent] resources css ▸ style.css imgs ▸ 필요한 이미지파일들 ✔ [WEB-INF] log ▸log4j.xml : 설정파일(회원가입용) spring ▸member-context : 설정파일 (회원가입용) ▹component-sc..

basic/spring 2021.08.08

[spring 06] 동적 SQL, log4j

동적 SQL if choose : if-else의 역할 ∙ when ∙ otherwise trim : profix, suffix, xxxOverrides foreach : 반복문 ☑ like ▪ select * from board where 컬럼명 like '%키워드%'; ▪ subject. a,b,c 병원 ▪ content select * from board where ${sel} like '%#{search}'; select * from board where subject like '%병원%' ☑ 컬럼명 ${} #{} setString ' ' setInt. 10 log4j : log for java • 프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바 기반 로깅 유틸리티 • 디버그용 도구로..

basic/spring 2021.08.08

[spring 05] mybatis 세팅, sql 적용

📃 mybatis 참고자료 https://mybatis.org/mybatis-3/ko/index.html Mybatis • 객체 지향 언어인 자바와 관계형 데이터베이스(Relational DataBase : RDB) • 프로그래밍을 좀더 쉽게 할 수 있게 도와주는 DB 관련 프레임워크 • 자바 오브젝트와 SQL문 사이에 자동 매핑 기능을 지원하는 ORM 프레임워크 ☑ ORM : Object-Relational Mapping ☑ iBatis, MyBatis, hibernate, JPA ☑ DB(oracle, mysql, mariaDB, mongoDB, MS...) 👀 전통적인 JDBC 프로그램 Mybatis ∙ 직접 Connection맺고 close() 자동으로 처리 ∙ PreparedStatement 직..

basic/spring 2021.08.08

[spring 04] ViewResolver, 파일 업로드&다운로드

ViewResolver • 뷰 리졸버는 ViewResolver라는 인터페이스를 구현해 만들어짐 • 뷰 리졸버를 빈으로 등록하지 않는다면 DispatcherServlet의 디폴트 뷰 리졸버인 InternalResourViewResolver가 사용됨 • 핸들러 매핑과 마찬가지로 뷰리졸버도 하나 이상을 빈으로 등록해서 사용할 수 있음 ✔ UrlBasedViewResolver ✔ InternalResourceView ∙ 주로 jsp를 뷰로 사용하고자 할때 사용 ∙ prefix, suffix ✔ BeanNameViewResolver ∙ 리턴받은 뷰이름과 동일한 이름을 가진 빈(객체)을 찾아서 뷰로 응답 ✔ XmlViewResolver ∙ 파일과 뷰이름의 정보를 정의해놓고 선택해서 사용할 수 있는 방법 ∙ /WEB..

basic/spring 2021.08.03