※ spring 구동 원리
https://www.google.co.kr/search?q=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&oq=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&aqs=chrome..69i57.12185j0j4&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8
▼
https://www.okjsp.net/seq/162227
▼
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html
※ spring framework 강좌
https://www.google.co.kr/search?q=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&oq=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&aqs=chrome..69i57.12185j0j4&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8#newwindow=1&q=spring%20framework%20%EA%B0%95%EC%A2%8C&safe=off
▼
http://www.javajigi.net/pages/viewpage.action?pageId=5614
▼
■ Spring ?
※ 참고 : http://www.ksug.org/152
■ Spring 강좌 <-- 나중에 살펴봐야함.
http://blog.daum.net/openeidos/8879784
■ Spring 강좌(javaproject.co.kr)
http://javaproject.co.kr/web/board.list.do?boardMainNo=1001&sDiv=1&sStr=%5Bspring
1. DB 데이터 조회
※ dao 와 service을 생성한다.
1.1. 순서
Controller -> Service - > DAO -> SQL
■ 스프링의 대표 기능 AOP 적용 예제
( http://javaproject.co.kr/web/board.view.do?boardMainNo=1001&boardNo=542&sDiv=1&sStr=[spring&thisPageNo= )
AOP 는 쉽게 말해 메소드 실행 전/후에 어떤 처리를 할때 사용됩니다.
다음은 AOP 사용 예제 입니다.
1.context.xml 에서 bean 추가
<bean id="aopTest" class="kr.co.javaproject.AopTest"/>
<aop:config >
<aop:advisor advice-ref="aopTest" pointcut="execution( * kr.co.javaproject.*Controller.*(..) )" order="1"/>
</aop:config>
//kr.co.javaproject 안에 모든 Controller 적용
2.kr.co.javaproject.AopTest 추가
public class AopTest implements MethodInterceptor{
@Override
public final Object invoke(MethodInvocation invocation) throws Throwable {
//메소드 실행전 처리 코딩 추가
System.out.println( "before ----- test ");
Object obj = invocation.proceed(); // 메소드 실행
//메소드 실행후 처리 코딩 추가
System.out.println( "after ----- test ");
return obj
}
}
■ myBatis 에서 #{value} 와 ${value} 차이
( http://javaproject.co.kr/web/board.view.do?boardMainNo=1001&boardNo=1297&sDiv=1&sStr=&thisPageNo=1 )
1.#{value}
변수 이고 실제 쿼리에서 '(호따움표)가 붙습니다.
PreparedStatement 에서 ? 에 들어갈 값입니다.
ex)
select * from board where id=#{id}
이렇게 되어 있다면
myBatis 내부적으론
String sql = "select * from board where id = ?"
PreparedStatement ps = ....
.
.
ps.setString(1,id)
2.${value}
상수 이고 '(호따움표)가 붙지 않습니다. (sql 인젝션 위험이 있음)
sql 문장을 만듭니다.
동적 테이블,컬럼에도 사용됩니다.
${myColumn} = #{value}이런식도 가능합니다.
select * from board where id='${id}'
이렇게 되어 있다면
myBatis 내부적으론
String sql = "select * from board where id = 'aaa'"//sql자체를 만듬
PreparedStatement ..
.
https://www.google.co.kr/search?q=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&oq=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&aqs=chrome..69i57.12185j0j4&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8
▼
https://www.okjsp.net/seq/162227
▼
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html
※ spring framework 강좌
https://www.google.co.kr/search?q=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&oq=spring+%EA%B5%AC%EB%8F%99+%EC%9B%90%EB%A6%AC&aqs=chrome..69i57.12185j0j4&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8#newwindow=1&q=spring%20framework%20%EA%B0%95%EC%A2%8C&safe=off
▼
http://www.javajigi.net/pages/viewpage.action?pageId=5614
▼
■ Spring ?
※ 참고 : http://www.ksug.org/152
■ Spring 강좌 <-- 나중에 살펴봐야함.
http://blog.daum.net/openeidos/8879784
■ Spring 강좌(javaproject.co.kr)
http://javaproject.co.kr/web/board.list.do?boardMainNo=1001&sDiv=1&sStr=%5Bspring
1. DB 데이터 조회
※ dao 와 service을 생성한다.
1.1. 순서
Controller -> Service - > DAO -> SQL
■ 스프링의 대표 기능 AOP 적용 예제
( http://javaproject.co.kr/web/board.view.do?boardMainNo=1001&boardNo=542&sDiv=1&sStr=[spring&thisPageNo= )
AOP 는 쉽게 말해 메소드 실행 전/후에 어떤 처리를 할때 사용됩니다.
다음은 AOP 사용 예제 입니다.
1.context.xml 에서 bean 추가
<bean id="aopTest" class="kr.co.javaproject.AopTest"/>
<aop:config >
<aop:advisor advice-ref="aopTest" pointcut="execution( * kr.co.javaproject.*Controller.*(..) )" order="1"/>
</aop:config>
//kr.co.javaproject 안에 모든 Controller 적용
2.kr.co.javaproject.AopTest 추가
public class AopTest implements MethodInterceptor{
@Override
public final Object invoke(MethodInvocation invocation) throws Throwable {
//메소드 실행전 처리 코딩 추가
System.out.println( "before ----- test ");
Object obj = invocation.proceed(); // 메소드 실행
//메소드 실행후 처리 코딩 추가
System.out.println( "after ----- test ");
return obj
}
}
■ myBatis 에서 #{value} 와 ${value} 차이
( http://javaproject.co.kr/web/board.view.do?boardMainNo=1001&boardNo=1297&sDiv=1&sStr=&thisPageNo=1 )
1.#{value}
변수 이고 실제 쿼리에서 '(호따움표)가 붙습니다.
PreparedStatement 에서 ? 에 들어갈 값입니다.
ex)
select * from board where id=#{id}
이렇게 되어 있다면
myBatis 내부적으론
String sql = "select * from board where id = ?"
PreparedStatement ps = ....
.
.
ps.setString(1,id)
2.${value}
상수 이고 '(호따움표)가 붙지 않습니다. (sql 인젝션 위험이 있음)
sql 문장을 만듭니다.
동적 테이블,컬럼에도 사용됩니다.
${myColumn} = #{value}이런식도 가능합니다.
select * from board where id='${id}'
이렇게 되어 있다면
myBatis 내부적으론
String sql = "select * from board where id = 'aaa'"//sql자체를 만듬
PreparedStatement ..
.
'java' 카테고리의 다른 글
[Java] 언어별 no-cache 리스트 (0) | 2014.05.07 |
---|---|
[Java] 카멜, 파스칼 표기법 ( Camel, Pascal ) (0) | 2014.05.07 |
[Java] ServletContextListener Test (0) | 2014.05.07 |
[Java] 동적 서블릿 맵핑[Dynamic Servlet Mapping] (0) | 2014.05.07 |
[Java] Spring 동작 순서 (0) | 2014.05.07 |
댓글