스프링부트: 97개의 글
마이바티스에서 SQL 동적 처리시 주의해야 할 사항이 몇가지 있다. 1. wehre문 진행시 로 감싸줘야 한다. 2. if문 진행시 아래와 같이
아래와 같이 회원 정보와 매출을 jdbctemplate로 return하려고한다. 여기서 코드는 아래와 같다. 다만 우리는 기존 select에서 별칭으로 count(custno)인 count를 같이 return을 해야 한다. return시 사용할 RowMapper를 기존과 동일하게 사용할 수 없다. 그러므로 우리가 해야할 것은 다음과 같다. 1. count 별칭을 받을 변수를 VO에 추가 2. custno, custname, grade, count(별칭)을 반환할 RowMapper 클래스를 생성 그럼 우선 VO와 getter and setter를 진행하자 그다음 두번째 DAO에 custno, custname, grade, count(별칭)을 반환할 RowMapper 클래스를 생성한다. 그런데 여기서 의문?..
방법 2는 우선 아래와 같이 Export를 폴더로 진행한다. 다만 Export할 때 File System으로 Export를 진행한다. 아래와 같이 선택해주고 directory는 편한 곳으로 한다. 본인은 바탕화면에 했다. 이제 import하는 방법을 보도록하자 우선 새로 Spring Legacy Project 파일을 만들어 준다. 만들어진 프로젝트를 마우스 우클릭 하고 import를 진행한다. File System을 선택한다. Browse를 선택한다. import할 폴더를 선택한다. 모두 선택하고 Finish를 누르면 아래와 같이 Overwrite할지 묻는 창이 나온다. Yes To All을 눌러서 OverWrite을 진행한다. 그럼 아래와 같이 기존 test33에 우리가 import하려고 했던 프로젝트..
스프링 프로젝트의 Export는 기존과 동일하게 Export하면된다. 아래와 같이 WAR file로 Export 진행한다. 그 다음 스프링 이클립스에서 Import를 하면 아래와 같이 Spring 프로젝트가 아닌 Java 프로젝트로 생성이 된다. 생성된 자바 Project는 Configure > Convert to Maven Project로 Convert한다. Convert하면 아래와 같이 pom.xml이 생성된 것을 확인할 수 있다. 그러나 아래와 같이 jsp 파일에 에러가 있는 것으로 확인된다. 해당 문제는 프로젝트에 서버 추가가 안된 문제로 아래와 같이 진행하면 해결도니다. ApacheTomcat으로 체크를 해준다 다만 처음 Spring 프로그램을 실행하면 Tomcat 서버가 추가가 안되어 있다. ..
@ModelAttribute의 값이 list로 넘어가지않는 문제가 발생하였다. 아래 list.jsp에서 표시한 부분에 값이 전달되어야 하는데 전달되지않아서 발생하는 문제였다. 아래 사진과 같이 값이 넘어가질 않는 것을 확인할 수있다. 해당 문제는 처음 사진에서 @ModelAttribute에서 name을 전달하지 않아서 발생한 문제였다. @ModelAttribute("conditionMap")을 입력 후 정상적으로 값 전달을 할 수 있었다. 출처 : namubada.net/103?category=777086
jdbc.driver=oracle.jdbc.OracleDriver jdbc.url=jdbc:oracle:thin:@//localhost:1521/xe jdbc.username=system jdbc.password=1234 Oracle Driver는 위와 같이 추가할 수 있다. 출처 : namubada.net/100?category=777086
@Autowired는 메소드 안에 사용할 수 없다. 클래스안에 객체로 사용해야 하며, 메소드 안에 사용시 아래와 같은 문제가 발생한다. 그럼 메소드 안이 Class 안에 객체 선언을 해보도록하자 진행시 아래와 같이 정상 실행되는 것을 확인할 수 있다. 출처 : namubada.net/90?category=777086
데이터베이스 연결시 DB Driver가 추가되어 있지 않으면 데이터를 DB에서 불러올 수 없다. 위와 같이 데이터 실행시 DB 연결이 안되어 있어 NullPointer 오류가 발생하게 된다. 문제의 해결은 pom.xml에서 database 추가 후 아래와 같이 문제를 해결할 수 있다. 출처 : namubada.net/80?category=777086
@Autowired 어노테이션의 경우 주로 변수 위에 설정하여 해당 타입의 객체를 찾아서 자동으로 할당한다. 그러므로 위의 private UserDAO userDAO의 경우 변수 선언만 했지 객체 할당을 하지않았다. 그러므로 위 상태에서 실행을 해버리면 userDAO의 메소드는 실행이 되어지지 않는다. 그러나 우리는 @Autowired 어노테이션으로 해당 변수위의 입력했기 때문에 해당 어노테이션이 해당 변수의 타입을 체크하고 그 타입의 객체가 메모리에 존재하는지 확인 후에 그 객체를 변수에 주입한다. 출처 : namubada.net/76?category=777086
위의 사진을 보면 BoardServiceClient의 BoardService boardService = (BoardService) container.getBean("boardService");에서 boardService를 호출하고있다. boardService는 applicationContext.xml에 있으며, 아래 사진에서 해당 코드의 내용을 확인할 수 있다. 그런데 특이한 점은 사진 어디에서도 boardService를 찾을 수 없다는 것이다. 그렇다면 어떻게 실행이 되는 것일까? 해당 부분의 해답은 아래 두 사진에서 확인할 수 있다. 실행되는 순서는 아래와 같다. 1. BoardServiceClient를 실행하면 2. applicationContext.xml에서 3. context:component-..