1. 스프링의 DI(의존성 주입)에서 의존성이란 - 의존성 주입이란 코드 내부에서 객체 간의 연결을 이루는 것이 아니라, 외부에서 설정을 통해서 객체를 연결하는 패턴이다. - + 즉, A객체에서 B객체를 직접 생성하는 방법이 아니라 - + A는 B가 필요하다는 신호만 보내고, B객체를 주입하는 것은 외부( 스프링 )에서 이루어지는 방법이다. - + 스프링의 경우 의존성 주입을 쉽게 적용할 수 있는 프레임워크가 존재한다. - 이때 의존성을 나타낼 수 있는 예시로는 Restaurant -------- > 요리사( chef )로 표시할 수 있다. - + 이는 요리사 없이는 Restaurant이 존재할 수 없다는 의미이다. - + Restaurant의 입장에서는 요리사가 반드시 필요하다는 의미이기도 하다. - ..
1. 스프링 설치 방법 - 1 ) Eclipse --> Help --> Eclipse Marketplace으로 들어가서 Marketplace client가 업데이트 항목에 있다면 업데이트 하기 - 2 ) Eclipse 의 설정파일(eclipse.ini)을 Sublime Text로 열어서 -vm에서 현재 설정된, JAVA 버전(테무린)이 11인지 확인해야 한다. (***) - 3 ) 브라우저에서 Eclipse Marketplace을 검색하여, Eclipse Marketplace web site로 이동한다. - 4 ) Eclipse Marketplace web site에서 "spring"을 검색하여 Spring Tools 3 Add-On for Spring Tools 4를 찾는다. - 5 ) 해당 이름의 이..
1. 쿼츠 기반의 Job Sceduling - 1 ) `Job` interface : 스케줄링되어 실행될 task의 규격 - -> Job 인터페이스를 상속 받는 구현 클래스 생성 ( jobA, JobB, SimpleJob ) - + 스케쥴링을 하기 전에 Task를 Job 규격에 맞게 생성해야 한다. - + 이는 스케쥴링의 대상(Target)이 된다. - 2 ) ‘JobDetail’ Interface - -> `JobBuilder`를 이용하여 구현객체 생성 - + 1 )의 Job에 대한 상세정보를 규격에 맞게 생성한다. - + 1 )의 Job 실행에 필요한 데이터도 Map의 형태로 설정할 수 있다. - + 1 )의 Job에 대한 name과 Group name도 설정할 수 있다. - 3 ) ‘Trigger’..
[ 1. 검색 조건이 있는 SQL문장을 Mapper에 작성하기 ] (*****) SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board WHERE bno = #{bno} SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board title LIKE '%'||#{title}||'%' SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board writer LIKE '%'||#{witer}||'%' writer LIKE '%'||#{witer}||'%' writer LIKE '%'||#{witer}|..
1. 마이바틱스가 SQL을 관리하는 방식 - 1 ) SQL Mapper XML 파일 방식 (***) - 2 ) Mapper Interface 활용 방식 - + 1번과 2번을 함께 사용할 수도 있다. [ 1. 마이바틱스 연습 - selectOne(sqlMapper, #{ 값 지정 }) ] (****) [ 1 - 1. Mapper.xml 수정 - selectOne에 해당하는 sql 추가 ] SELECT * FROM tbl_board SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board WHERE bno = #{bno} [ + 추가된 부분 ] SELECT bno, title, content, writer, insert_ts, updat..
[ 1. SqlSessionFactoryBuilder / SqlSessionFactory ] (*) import static org.junit.jupiter.api.Assertions.assertNotNull; import java.io.IOException; import java.io.InputStream; import java.util.Objects; import java.util.concurrent.TimeUnit; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis..
1. JSTL ( JSP Standard Tag Library ) - 사용자의 필요에 의해서 태그를 자체적으로 만들어 사용할 수 있다. - 일반적으로 EL과 같이 사용된다. [ 1. JSTL - 1 ) / 2 ) + + ] (***) /JSTL/exam03.jsp JSTL Core 라이브러리 실습 1 - if문 ( c:if test ) 색상은 빨강색이다. JSTL Core 라이브러리 실습 2 - choose + when ( switch문 ) 학점은 A이다. 학점은 B이다. 학점은 C이다. 학점은 F이다. [ 2. JSTL - 1 ) / 2 ) 1. name : 3. name : ${param.name} 4. age : ${param.age} 포멧팅하기 전 포멧팅 1. 2. 3. 4. 5. 6. 7. 8...
1. EL ( Expression Language ) - EL은 데이터를 출력하기 위한 언어로써 문법이 직관적이고 사용하기 쉽게 구성되었다. - EL의 기본 문법은 다음과 같이 $ { 표현식 }으로 구성되어 있다. - 원래 JSP에서는 변수를 출력하기 위해서 변수 선언과 초기화가 필수였으나, EL에서는 그러한 과정 없이 바로 사용이 가능하다. 2. EL 내장 객체 (***) - EL에서는 저장된 데이터를 참조하기 위한 내장 객체를 제공한다. - 이러한 내장객체는 JSP 변수처럼 선언하지 않아도 바로 사용이 가능하다. (**) - + EL에서의 변수는 우리가 사용하던 자바의 변수와 다르기에, 에서 String name을 선언하고 ${ name }을 통해 출력하려고 해도 출력되지 않는다. - + 자바의 변수..
1. JSP 표준 액션 태그 - 액션 태그는 많은 자바 코드를 포함하고 있는 Scriptlet 태그( )를 제거 및 감소할 목적으로 제공되는 코드이다. - 즉, 자바코드 대신에 액션 태그만으로도 동일한 결과를 얻을 수 있다는 의미이다. - 액션 태그의 종류에는 다음과 같은 6가지의 액션 태그가 있다. - 1 ) : 자바빈 컴포넌트를 사용하기 위한 액션 태그 - 2 ) : 자바빈 인스턴스에 데이터를 저장하기 위한 액션 태그 - 3 ) : 자바빈 인스턴스에서 데이터를 얻기 위한 액션 태그 - 4 ) : 제공된 JSP파일을 삽입하기 위한 액션 태그 - 5 ) : 제공된 JSP파일을 forward하기 위한 액션 태그 - 6 ) : include나 forward할 때 요청 파라미터를 추가하기 위한 액션 태그 - ..