Spring 공부2020. 12. 11. 13:48

jsp

   - params.planMM = new Array('0','1','2');

 

java <String 은 파라미터에 따라 다름 >

  - @SuppressWarnings("unchecked")   : 함수위에 

  - List<String> lit = (List<String>)params.get("planMM")

'Spring 공부' 카테고리의 다른 글

[batch] 설명 및 정리  (0) 2014.03.18
[batch] parameter 전달방법  (0) 2014.02.03
spring java source  (0) 2013.10.25
어노테이션에서 타입이라는 용어  (0) 2013.07.25
mysql key Holder  (0) 2013.05.13
Posted by 선한열심
Spring 공부2014. 3. 18. 14:34

샘플 소스주소

SVN으로 연결해서 check out 할 주소 ==> https://github.com/spring-projects/spring-batch

(사용방법 : http://www.rcy.co.kr/xeb/index.php?mid=study&page=4&document_srl=1409  참고 )

 

 예제 잘 나온곳 : http://www.mkyong.com/tutorials/spring-batch-tutorial/

 

정리 : http://webprogrammer.tistory.com/2187

 

쿼츠 예제 : http://fbwotjq.tistory.com/411

 

정부 프레임워크 쿼츠 설명 : http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:egov_scheduler_runner_template

 

'Spring 공부' 카테고리의 다른 글

Spring 에서 Map으로 배열 받을 법  (0) 2020.12.11
[batch] parameter 전달방법  (0) 2014.02.03
spring java source  (0) 2013.10.25
어노테이션에서 타입이라는 용어  (0) 2013.07.25
mysql key Holder  (0) 2013.05.13
Posted by 선한열심
Spring 공부2014. 2. 3. 13:25

출처 - http://www.mkyong.com/spring-batch/spring-batch-example-mysql-database-to-xml/

 

App.java

JobParameters param = new JobParametersBuilder().addString("age", "20").toJobParameters();

 

참고  1) string일경우 예: addString("SEND_YN","'Y'")    : 따옴표 있어야함

        2) jobParametersBuilder.addLong("timestamp", new Date().getTime()); 이런식으로 안하면

            Cannot start a job instance that already exists 오류가 발생한다  

            ==>> 이유는 설정.xml파일에 org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor

org.springframework.batch.core.configuration.support.MapJobRegistry

등록되어 있어서 그렇다고함

 

resources/spring/batch/jobs/job-extract-users.xml
<bean id="itemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select ID, USER_LOGIN, USER_PASS, AGE from USERS where age > #{jobParameters['age']}" />
<property name="rowMapper">
<bean class="com.mkyong.UserRowMapper" />
</property>
  </bean>

정부프레임워크 설명 : http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:job

 

'Spring 공부' 카테고리의 다른 글

Spring 에서 Map으로 배열 받을 법  (0) 2020.12.11
[batch] 설명 및 정리  (0) 2014.03.18
spring java source  (0) 2013.10.25
어노테이션에서 타입이라는 용어  (0) 2013.07.25
mysql key Holder  (0) 2013.05.13
Posted by 선한열심
Spring 공부2013. 10. 25. 17:04

https://github.com/spring-projects/spring-framework


- 우측 중간쯤 DownLoad ZIP 파일 있음 

'Spring 공부' 카테고리의 다른 글

[batch] 설명 및 정리  (0) 2014.03.18
[batch] parameter 전달방법  (0) 2014.02.03
어노테이션에서 타입이라는 용어  (0) 2013.07.25
mysql key Holder  (0) 2013.05.13
[펌]Mybatis Spring Annotation 적용 샘플  (0) 2013.05.06
Posted by 선한열심
Spring 공부2013. 7. 25. 18:07

타입 : class 인거 같다

public Object getBean(String name) throws BeansException {
  return getBeanFactory().getBean(name);
 }

 public <T> T getBean(String name, Class<T> requiredType) throws BeansException {
  return getBeanFactory().getBean(name, requiredType);
 }

 public <T> T getBean(Class<T> requiredType) throws BeansException {
  return getBeanFactory().getBean(requiredType);
 }

 public Object getBean(String name, Object... args) throws BeansException {
  return getBeanFactory().getBean(name, args);
 }

 

 

'Spring 공부' 카테고리의 다른 글

[batch] parameter 전달방법  (0) 2014.02.03
spring java source  (0) 2013.10.25
mysql key Holder  (0) 2013.05.13
[펌]Mybatis Spring Annotation 적용 샘플  (0) 2013.05.06
log4j  (0) 2013.04.30
Posted by 선한열심
Spring 공부2013. 5. 13. 10:40

mysql keyHolder http://antop.tistory.com/102 

 

Spring 3.0 의 8장에 있음

Posted by 선한열심
Spring 공부2013. 5. 6. 10:46
Posted by 선한열심
Spring 공부2013. 4. 30. 16:40
Posted by 선한열심
Spring 공부2013. 4. 23. 16:19

에러정보 추가할때

<form:form commandName="loginCommand">

 result.rejectValue("member_domain" , "invalidIdOrPassword");

 1. @Valid LoginCommand  -> LoginCommon 에 member_domain추가

2. invalidIdOrPassword  -> validation.properties에 추가

3. jsp 파일에 : <form:errors path="member_domain" /> 추가

 


   <spring:hasBindErrors name="command" /> 일때 에러 정보 추가

result.rejectValue("message" , "invalidIdOrPassword");

1. @ModelAttribute("command") MemberVo memberVo -> MemberVo 에 message 추가

2. invalidIdOrPassword -> validation.properties에 추가

3. jsp 파일에 : <form:errors path="command.message" /> 추가

Posted by 선한열심
Spring 공부2013. 4. 16. 13:54

[출처]spring 웹 어플리케이션 기반의 web.xml 설정 정리

프로젝트에서는 web.xml의 listener와 context, filter 를 필히 파악해야 한다

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>springProject</display-name>
<description>incross spring3.1 sample project</description>
<!-- ============================================================= -->
<!-- log4j setting -->
<!-- ============================================================= -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>incross.spring</param-value>
</context-param>
<!-- ============================================================= -->
<!-- root application context -->
<!-- ============================================================= -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
</param-value>
</context-param>
<!-- ============================================================= -->
<!-- spring dispatcher servlet -->
<!-- ============================================================= -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.kyu</url-pattern>
</servlet-mapping>
<!-- ============================================================= -->
<!-- welcome file list -->
<!-- ============================================================= -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
view rawweb.xmlThis Gist brought to you by GitHub.



spring 기반으로 되어 잇는 웹 어플리케이션의 web.xml에 대한 정리

정리의 목적은 곧 있을 스프링 3.1 교육을 위해 머리로 알고 있는 것들을 기록으로 남겨 좀더 자세하게 정보를 전달하기 위함이다.


일단 web.xml은 서블릿 배포 서술자 (DD) 라고 부른다.

영어로는 Deployment Descriptor


DD의 용도는 WAS 구동 시 /WEB-INF 디렉토리에 존재하는 web.xml 파일을 읽어 들여 웹 어플리케이션 설정을 구성하기 위함이다.


가령 스프링, 스트럿츠 등 다양한 프레임워크를 사용하여 웹 어플리케이션을 구성하거나 로그, 인코딩 설정 등 초기 셋팅을 위한 설정 파일이라고 생각하면 된다.

결국 설정을 위한 설정 파일이라고 정리되는 것인가? ㅋ


<display-name>

DD 파일의 title 정도라고 생각하면 좋겠다.

우리는 project name을 추가하여 사용하고 있다.


<description>

어떤 프로젝트를 위한 배포 서술자인지 상세하게 기록한다.

incross spring3.1 sample project


주석 log4j setting 아래 xml element

listener-class에 등록되어 있는 Log4jConfigListener는 log4j라는 로깅 프레임워크를 초기화 하는 클래스이다.

이 클래스를 초기화 할 때 log4jConfigLocation, webAppRootkey context-param을 넘겨준다.


log4jConfigLocation은 log4j 설정 파일의 위치를 지정하는 param이고, webAppRootKey는 다음과 같은 환경에서는 꼭 값을 지정해 줘야 한다.

tomcat

- context1 (log4j 설정 추가)

- context2 (log4j 설정 추가)


즉, 하나의 tomcat에 context가 두 개 이상 적재되어 있고, 각 context가 log4j 프레임워크를 사용하고 있다면 webAppRootKey param에 값을 꼭 지정해 줘야 한다.

만약 지정하지 않았을 경우 default 값인 webapp.root 중복 에러가 발생한다.


주석 root application context 아래 xml element

본격적으로 스프링 웹 어플리케이션을 위한 설정 부분이다.


ContextLoaderListener 초기화를 통해 스프링의 root context를 얻을 수 있다.

여기서 말하는 context는 contextConfigLocation param을 이용하여 찾은 bean 설정 메타 파일을 로드하여 세부 설정에 맞게 bean 객체를 생성 또는 관리하는 주체를 말한다.

이게 맞나?

토비 스프링3.1 한번 더 정독하면 확실히 개념이 잡힐 것 같으니 나중에 책 읽고 부족한 내용이다 싶으면 보충하도록 하자.


주석 spring dispatcher servlet 아래 xml element

DispatcherServlet 클래스를 초기화하여 spring의 servlet context를 생성한다.

초기화 param으로 bean 메타 설정 파일의 위치를 넘겨 준다.


load-on-startup 은 servlet 구동 순서를 의미하며 빠른 순서부터 로딩한다.

아래와 같이 3개의 서블릿이 DD에 등록되어 있고 load-on-startup이 각각 지정되어 있다면 순번이 빠른 것부터 초기화를 진행한다는 의미다.

initServlet1 (load-on-startup = 1)

initServlet2 (load-on-startup = 2)

dispatherServlet (load-on-startup = 3)


servlet-mapping은 url pattern으로 지정된 값으로 웹 요청이 들어왔을 때 servlet-name에 지정되어 있는 이름의 servlet을 호출하겠다는 의미이다.

spring에서는 DispatcherServlet이 모든 요청을 받고, 요청의 URL과 맵핑하는 Controller에 위임한다.

가령 Controller class에 @RequestMapping("/list") 애노테이션으로 지정되어 잇는 메소드가 존재하면 http://localhost:8080/list.do 요청 시 DispatcherServlet이 해당하는 URL과 매핑되는 정보를 찾은 후 연결되는 메소드에 요청을 위임한다.


<welcome-file-list>

/ 웹 요청 시 지정되어 있는 리소스 call

즉, http://localhost:8080 요청 시 index.jsp의 content를 보여준다.


아직은 spring 3.1 샘플 프로젝트를 만드는 중이라 완전하지 않은 DD 파일이므로 샘플 프로젝트 구성을 완료하면 추가적으로 다시 작성하도록 하자.

 

 

 


  <!-- spring frame -->
 <servlet-mapping>
  <servlet-name>appServlet</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>
 
 <!-- spring 외 -->
  <servlet-mapping>
   <servlet-name>default</servlet-name>
   <url-pattern>*.js</url-pattern>
   <url-pattern>*.gif</url-pattern>
   <url-pattern>*.jpg</url-pattern>
   <url-pattern>*.png</url-pattern>
   <url-pattern>*.css</url-pattern>
   <url-pattern>*.ico</url-pattern>
  </servlet-mapping>

 

Posted by 선한열심