일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스
- jsonview
- db admin
- NoClassDefFoundError
- 생략
- 마이바티스
- cutomobjectmapper
- 긴문자열
- 설정파일
- 의존성주입
- Version
- 버전
- 스프링
- ㅗ르
- ResponseBody
- dbeaver
- SVN
- 루팅
- marketplace
- 마리아DB
- 이클립스
- Spring
- 캐릭터셋
- git
- AOP
- 윈도우
- 제어역전
- 일정계획
- mybatis
- Eclipse
- Today
- Total
목록Spring (9)
프밍일기
■ MultipartResolver 설정 - 서블릿 컨택스트 설정파일에 다음 추가 ■ JSP에서 form에 multipart 설정하여 요청 ■ 파일을 전달받을 VO 정의 public class UploadVO { String fileName; MultipartFile uploadFile; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public MultipartFile getUploadFile() { return uploadFile; } public void setUploadFile(MultipartFile uploadFile) { th..
스프링 프로젝트 진행시 개발과 운영 환경의 설정이 달라서 개발에서 개발한 소스를 운영으로 반영시 설정파일을 매번 신경써서 반영해줘야 하는 상황을 피해보고자 정리해본다. 다음과 같이 작업한다. 스프링 프로젝트(뿐만 아니라 대부분의 웹 프로젝트)는 대부분 WAS를 기동하여 시스템이 운영되므로 WAS 기동시 실행 파라미터에 해당 환경의 이름을 설정한다.소스에서 WAS 기동시 설정된 이름을 이용한 설정파일명을 활용하여 각각 다른 설정파일로 분리하여 관리한다. 1. WAS 실행 파라미터에 실행환경이름 설정(Tomcat) 2. WAS 실행시 설정된 현재 환경의 이름(여기서는 "dev")이 포함된 설정파일 사용 - 스프링 설정파일(본인 프로젝트에서는 root-context.xml 이다.)에 아래와 같이 설정한다. /..
Spring에서 브라우저의 요청에 JSON 데이터로 응답하는 방법 ▩ 공통적으로 pom.xml에 아래 코드 추가 org.codehaus.jackson jackson-mapper-asl 1.9.13 ■ @ResponseBody 어노테이션을 이용한 응답 Controller의 리턴타입 앞에 @ResponseBody 어노테이션 추가하고 리턴타입을 Map 이나 VO(DTO) 타입으로 설정 @RequestMapping(value = "/json/responsebody", method = RequestMethod.GET) public @ResponseBody Map responseBodyJsonReturn(Model model) { logger.info("JSON Return by @ResponseBody"); Ma..
■ 전체 예제 소스 ■ 개발환경 # Spring : STS 3.8.4.RELEASE (https://spring.io/tools/sts/all/) # Database : MariaDB (https://mariadb.com/) ■ DB 테이블 생성 CREATE TABLE `tb_code` ( `CD_DO` VARCHAR(3) NOT NULL COMMENT '도메인', `CD_UP` VARCHAR(4) NOT NULL COMMENT '상위코드', `CD_DN` VARCHAR(5) NOT NULL COMMENT '하위코드', `CD_KOR` VARCHAR(50) NOT NULL COMMENT '한글코드명', `CD_ENG` VARCHAR(50) NULL DEFAULT NULL COMMENT '영문코드명', `..
■ Annotation을 이용한 AOP 설정 # 스프링 설정파일(applicationContext.xml)에 AOP 관련 Annotation을 사용하기 위한 엘리먼트를 추가 # Advice 클래스에 Pointcut 설정- Pointcut 설정시 정의하는 빈 메소드는 XML에서 엘리먼트의 id에 해당하는 값을 설정 public class LogAdvice {@Pointcut("execution(* com.fannell.site.polymorphism..*Impl.*(..))")public void allPointcut() {}} # Advice 메소드에 실행시점을 지정하는 Annotation 정의- 참조값으로 Pointcut 정의 메소드명을 지정 public class LogAdvice {@Pointcut..
AOP(Aspect Oriented Programming)는 비즈니스 로직에서 반복되는 공통기능을 분리하기 위한 방법이다. 일반적으로 하나의 비즈니스 로직에는 핵심 비즈니스 로직 외에 로깅, 예외처리, 트랜젝션 처리와 같은 부가적이지만 없어서는 안될 코드들을 포함하게 되며 많은 경우에 이런 코드들이 실제 비즈니로 로직보다 더 많은 양을 차지하고 있다. businessMethod() { Logging... 실제 비즈니스 로직 Exception Handle... Transaction Handle... Logging... } AOP는 이런 공통 부가기능들을 관심 분리하여 별도로 구현할 수 있도록 하여 개발자가 비즈니스 로직 구현에만 전념할 수 있도록 해준다. ■ 용어정의 # Joinpoint 클라이언트가 호출..
■ 스프링 context 파일 설정내용 : ■ 오류내용 : org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/tx/spring-tx-4.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not ■ 원인 : 사용중인 스프링 버전이 3.0인데 4.0 버전을 사용하겠다고 선언하여 내부 jar에서가 아닌 인터넷으로 연결하여 조회 시도하는데 인터넷이 사용불가한 환경이라 에러 발생 ■ ..
■ DI(Dependency Injection, 의존성 주입) - 빈(Bean)이 외부로부터 의존관계가 성립되는 객체를 인자로 넘겨받아 처리하는것. - 의존관계 설정을 컴파일 시점이 아니 실행 시점에 결정한다. - 의존관계 설정이 실행 시점에 결정되기 위해서는 넘겨받는 인자가 특정 클래스(Class)가 아닌 인터페이스(Interface) 이어야 한다. - 메소드가 사용하는 인자를 인터페이스로 설정 함으로써 인터페이스를 구현하기만 하면 다양한 object를 받아서 일관된 동작을 할 수 있도록 정의한다. ■ 어노테이션(Annotation)을 이용한 DI [ ConnectionMaker.java ] public interface ConnectionMaker { public Connection makeConne..
■ IoC(Inversion of Control, 제어역전) - 개발자가 작성한 프로그램을 프레임워크가 호출할 수 있도록 설정하는것 - 어노테이션을 이용하는 방식과 XML을 사용하는 방식이 있음 ■ 어노테이션을 이용한 IoC 설정 @Configuration public class DaoFactory { @Bean public UserDao userDao() { return new UserDao(connectionMaker()); } @Bean public ConnectionMaker connectionMaker() { return new NConnectionMaker(); } } - @Configuration : 스프링 프레임워크가 사용할 Class임을 나타냄 - @Bean : object 생성을 담당하..