application context(.xml) - service, repository를 등록한다. - 전체 계층구조에서 최상단에 위치한 컨텍스트 - 서로 다른 서블릿 컨텍스트에서 공유해야하는 Bean들을 등록해놓고 사용할 수 있다. - 웹 어플리케이션 전체에 적용 가능한 프로퍼티, DB 연결, 로깅 기능 등에 이용한다. - servlet context에 등록된 bean은 이용할 수 없다. - servlet context에 동알한 bean이 있을 경우 servlet context bean이 우선된다. - 하나의 컨텍스트에 정의된 aop 설정은 다른 컨텍스트의 bean에는 영향을 미치지 않는다. servlet context(.xml) - controller를 등록한다. - 서블릿에서만 이용되는 컨텍스트(.d..
로그인(세션) 체크, 권한 체크, XSS(Cross site script) 방어, pc/모바일 분기처리, 로그, 페이지 인코딩 변환 등공통업무로 모든 페이지마다 작성해야할 코드가 있다.이런 중복되는 코드들을 자동으로 처리할 수 있는 방법엔 filter, interceptor, aop가 있다. (그림필요)- interceptor와 filter는 servlet 단위에서 실행되고 aop는 메소드 앞의 proxy패턴 형태로 실행된다.- 실행 순서는 filter > interceptor > aop > interceptor > filter 순으로 거치게 된다. 1. filter 요청과 응답을 거른 뒤 정제하는 역할을 한다.서블릿 필터는 DispatcherServlet 이전에 실행이 되는데 필터가 동작하도록 지정된 ..
스프링과 JPA연동을 위해 project facets를 jpa 프로젝트로 변환해야한다고 교재엔 나와있지만 역시나 없으니 넘어간다. 1. 라이브러리 내려받기123456789101112131415 org.hibernate hibernate-entitymanager 5.1.0.Final org.springframework spring-orm ${org.springframework-version}Colored by Color Scriptercs 2. jPA 설정 파일 작성- jpa 설정 파일인 persistence.xml 파일은 applicationContext.xml에 모두 등록하기 때문에 추가하지 않아도 된다. 3. 엔티티 매핑 설정- @Entity, @Table, @Id, @GenerateValue 같은 ..
- ORM(Object-Relation Mapping)은 정확하게 일지하지 않는 자바의 객체와 데이터베이스의 테이블을 매핑해준다.- 이전까진 스프링 JDBC나 Mybatis를 이용하여 자바 객체와 테이블을 매핑해왔지만 어떤 DB 연동 기술이나 프레임워크를 사용하더라도 SQL 명령어를 자바 클래스나 외부 XML에 작성해야 했다. 그리고 유지보수 과정에서 지속적으로 수정되고 새롭게 추가 된다.- ORM의 큰 특징은 필요한 SQL을 자동으로 생성한다. 대표적인 ORM 프레임워크는 Hibernate 프레임워크이고 이러한 ORM 프레임워크를 표준화한 것이 JPA다. 1. JPA 특징- JDBC와 마찬가지로 프레임워크 변경이 가능하다. 2. JPA 프로젝트 설정2-1 JPA 프로젝트 생성- new > Maven P..
스프링은 Ibatis 연동을 위한 API를 지원하지만 Mybatis 연동에 필요한 API를 제공하진 않는다.하지만 Mybatis에서 스프링 연동을 위한 API를 지원한다. 1. 라이브러리 내려받기- mabatis는 순수하게 Mybatis 관련 라이브러리고, mybatis-spring는 Mybatis와 스프링 연동을 위한 라이브러리다.123456789101112131415 org.mybatis mybatis 3.3.1 org.mybatis mybatis-spring 1.2.4cs 2. mybatis 설정 파일 복사 및 수정- mybatis프로젝트에서 사용했던 board-mapping.xml과 sql-map-config.xml파일을 src/main/resources폴더에 복사한다.- dataSources는 ..
지난 시간과 크게 다른 부분이 없기에 추가된 부분만 기록했다. 1. resultMap 속성 사용- 검색결과를 특정 자바 객체에 매핑하여 리턴하기 위해서 paramType 속성을 사용한다. 그러나 검색 결과를 parameterType 속성으로 매핑할 수 없는 몇몇 사례가 있다.> 검색 쿼리가 단순 테이블 조회가 아닌 JOIN 구문을 포함할 때는 검색 결과를 정확하게 하나의 자바 객체로 매핑 할 수 없다.> 또는 검색된 테이블의 칼럼 이름과 매핑에 사용될 자바 객체의 변수 이름이 다를 때에 검색 결과가 정확하게 자바 객체로 매핑되지 않을 때이다. 2. CDATA Section 사용- sql 구문 내에 '
Mybatis 프레임워크 특징- 한두 줄의 자바코드로 DB 연동을 처리한다.- SQL 명령어를 자바 코드에서 분리하여 XML 파일에 따로 관리한다. 1. Java ORM Plugin 설치- Mybatis와 관련된 복잡한 XML 설정 파일들을 자동으로 만들고 관리할 수 있다.- Eclipse Marketplace에서 설치 2. 프로젝트 생성1) file > new > Spring Legacy Project > project name : MybatisProject2) 프로젝트 우클릭 > properties > project Facets > convert to faceted form > java : 1.8 선택 > runtimes : jdk1.8.~~ 선택3) DB 연동을 위한 H2 Driver, mybati..
시스템이 복잡해지면서 다른 시스템과 정보를 주고받을 일이 발상해는데, 이때 데이터 교환 포맷으로 JSON(JavaScript Object Notation)을 사용할 수 있다. 1. JSON으로 변환하기1-1. Jackson2 라이브러리 내려받기- 아래의 코드를 추가하면 Maven Dependencies에 jackson-databind-2.7.3.jar / jackson-annotations-2.7.0.jar / jackson-core-2.7.3.jar 파일이 생성된다.- 2.7.2로 하면 찾을수 없는 에러가 나와서 2.7.3으로 해보니 에러가 나오지 않았다.12345678 com.fasterxml.jackson.core jackson-databind 2.7.3Colored by Color Scripter..
다국어 처리란 하나의 JSP 페이지를 다양한 언어로 서비스하는 것이다. 1. 메시지 파일 작성- src/main/resources 폴더에 패키지를 생성헌다.1234567891011121314151617181920212223# messageSource_en.properties # login.jspmessage.user.login.title=LOGINmessage.user.login.id=IDmessage.user.login.password=PASSWORDmessage.user.login.loginBtn=LOG-IN message.user.login.language.en=Englishmessage.user.login.language.ko=Korean # GetBoardList.jspmessage.board...
1. 파일업로드 1-1. 파일 업로드 입력화면 추가123456789101112131415161718192021222324252627282930313233 제목 작성자 내용 업로드 Colored by Color Scriptercs 1-2. command 객체 수정- BoardVO 객체에 uploadFile 변수와 getter/setter 메소드를 추가한다. 1-3. FileUpload 라이브러리 추가- apache에서 제공하는 Common FileUpload 라이브러리를 pom.xml에 추가해준다.- Maven Dependencies 폴더에서 commons-fileupload-1.3.1.jar / commons-io-2.2.jar을 확인한다.123456 commons-fileupload commons-fi..
- Total
- Today
- Yesterday
- XmlWebApplicationContext
- setter 인젝션
- JoinPoint
- postHandler
- multiple SLF4J bindings
- 어노테이션
- 의존성
- 횡단 관심
- java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
- exclude-mapping
- aspect oriented programming
- 스프링 컨테이너
- aop
- Class path contains multiple SLF4J bindings
- 검색
- 컨트롤러
- preHandler
- LoggingEvent
- NoClassDefFoundError
- afterCompletion
- handlermapping
- servlet context
- Controller
- 의존성 주입
- #java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent삭제
- @Autowired
- blocking
- application context
- SqlSessionFactoryBean
- ViewResolver
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |