Back-end/JAVA,Spring 70

Junit이란? 어노테이션

범용적으로 사용되는 단위 테스트 framework 이다. Java언어의 단위(기능)테스트를 위해 사용한다.즉, 테스트 시 기대값과 결과값을 비교한다. 일치하면 테스트성공. 프로그래밍에서 유닛테스트라는 소스코드의 특정 모듈이 의도한 대로 정확히 작동하는지 검증하는 절차이다.즉, 모든 함수에 대한 테스트케이스(test case)를 작성하는 절차.이를 통해서 언제라도 코드변경으로 인해 문제 발생시, 단시간 내에 파악하고 바로 잡을 수 있다. Junit은 단독으로 돌아간다. web처럼 WAS필요없이 run시키면 돌아간다.와스없이 단독으로 돌아가기때문에 스프링에 설정파일을 직접 설정해주어 실행한다. 실제로는 사용자에게 입력받아야 하는데 와스가 없기때문에 임의의 값을 주고, 기능의 값을 테스트 한다. 즉, 웹환경 ..

마이바티스 란? mybatis 설정방법 및 순서.

myBatis 마이바티스란? 객체 지향언어인 자바의 관계형 데이터베이스 프로그래밍을 쉽게 도와주는 프레임워크.자바에서는 관계형 데이터베이스 프로그래밍을 하기위해 JDBC를 제공한다. ※ JDBC(Java Database Connectivity) 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 인터페이스이다.(DriverClass, Connection, PreparedStatement, ResultSet etc...) JDBC는 다양한 API를 제공하지만, 각각 기능을 사용하기위해서는 관련 객체를 생성하고 해제해야하는 단점이 존재. 마이바티스는 이 JDBC를 보다 편하게 사용하기 위해 개발되었다. SQL문을 별도의 파일로 분리해서 관리하도록 해준다. 스프링의 하청이라고 할수 있음..

[Spring]Application Context 설정.

Spring Framework 설정. 1. Root Application Context 설정 [web.xml]Servlet Container인 Tomcat(WAS)이 start되면 가장먼저, web.xml을 읽어들인다.[web.xml] = Root org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath*:/root-context*.xml[web.xml]에 선언된 listener클래스인 ContextLoaderListener 의해 RootWebApplicationContext영역을 구성하게 되는데 그 설정파일은 root-context*.xml이다. [root-context.xml]두파일을 import 하고있다..

Spring- Singleton pattern 싱글톤 패턴이란?

싱글턴 패턴 Singleton pattern이란? 클래스가 오직 하나의 인스턴스만 생성한다는것을 보장하는 패턴.보통 데이터베이스나 웹 서비스 같은 여러 서드파티에서 해당 인스턴스에 접근가능한 유일한 지점을 만드는데 사용. 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. Spring도 스프링 빈에서 한번 객체를 생성 해놓은 뒤, 필요시 스프링이 생성해놓은 객체를 호출해서 쓰기때문에 싱글턴 패턴을 따른다고 할 수 있다. ex)싱글톤 패턴을 적용한 DAO클래스.public class UserDao{ private static U..

런타임(Runtime) vs 컴파일(Compile)

Run time어떤 프로그램이 실행되는 동안의 time. Runtime Error어떤 프로그램이 실행되는 동안 발생되는 에러.문법상으로는 에러가 없지만 실행 시켰을때 에러가 나는경우.ex) NullpointerError Compile프로그래밍언어를 기계어(컴퓨터가 이해할 수 있는 비트단위의)로 변경하는 과정 Compile Error주로 문법상의 에러가 많음.ex) ; 을 빠트리거나 선언법이 틀렸다거나 하는 이유로 빨간줄 쳐지는게 컴파일에러 *프로그램이 컴파일 에러없이 완료되더라도, 해당 프로그램 실행시 에러가 없다고 보장할 수 없음. 즉, 컴파일 에러가 발생하지 않더라도 런타임 에러가 발생할 수 있음.

J2EE란? 자바2 엔터프라이즈 에디션

J2EE (Java 2 Enterprise Edition) J2EE는 자바 기술로 기업환경의 어플리케이션을 만드는데 필요한 스펙들을 모아둔 스펙 집합. J2EE를 만든 것은 Sun Microsystems이고 SUN에서 J2EE 스펙을 시범적으로 구현해두기는 하지만, IBM, BEA, Oracle, HP, Iona등 여러 벤더들도 그 스펙을 구현할 수 있으며 J2EE 호환성을 검증하는 기구의 검증을 통과하기만 하면 J2EE 호환 제품으로 시장에 출시할 수 있다. 그리고 이런 벤더들은 J2EE 스펙을 개선하는 과정에도 활발히 참여하기 때문에, J2EE는 사실상 SUN의 독점적인 기술이라기 보다는 Java진영으로 불리는 여러 개발자들이 같이 만들어가고 공유하는 기술이라고 볼 수 있다. *엔터프라이즈 시스템: ..

[JAVA Spring] 첨부파일 구현하기. MulripartResolver.

첨부파일 업로드 처리. 인코딩 타입이 Multipart인 경우 파라미터나 파일을 구하려면 전송데이터를 알맞게 처리해 주어야 한다.스프링은 Multipart 지원기능을 제공하는데, 이 기능을 이용하면 추가적 처리 없이 Multipart형식의 파라미터와 파일정보를 쉽게 구할 수 있음. 1. MulripartResolver 설정.먼저 스프링 설정파일에 MultipartResolver를 등록해주어야한다. pom.xml commons-fileupload commons-fileupload 1.2.1 commons-io commons-io 1.4 spring-servlet.xml 멀티파트 리졸버는 멀티파트 형식의 데이터가 전송괸 경우, 해당 데이터를 스프링에서 사용할 수 있도록 변환해준다. 스프링이 기본으로 제공하는..

컬렉션 프레임워크(collection framework)란? - List vs Map

컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미. 즉, 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것. 컬렌션 프레임워크는 자바 인터페이스를 사용하여 구현된다. 컬렉션 프레임워크 주요 인터페이스List 인터페이스Map 인터페이스주요 인터페이스의 간략한 특징인터페이스설명구현 클래스List순서가 있는 데이터의 집합으로, 데이터의 중복을 허용함.Vector, ArrayList, LinkedList, Stack, QueueMap키와 값의 한 쌍으로 이루어지는 데이터의 집합으로, 순서가 없음.이때 키는 중복을 허용하지 않지만, 값은 중복될 수 있음.HashMap,..

제네릭 Generic 이란?

제네릭 Generic데이터 타입 Type 을 일반화 generalize 한다 : 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법. 즉, 컴파일 시 미리 타입 검사 type Check를 수행. why?클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다.반환값에 대한 타입변환 및 타입검사에 들어가는 노력과 시간을 줄일 수 있다. 이전에는 여러타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 주로 Object를 사용여 반환된 Object객체를 다시 원하는 타입으로 변환시 오류발생 가능성이 있다.하지만 jdk1.5부터 도입된 제네릭을 사용하면 컴파일시 미리 타입이 정해지므로, 타입검사나 변환 같은 번거로운 작업을 생략할 수 있다. 제네릭의 선언 및 생..

[JAVA]Spring properties 설정하기

Spring properties 설정하기 * .properties란?? 응용 프로그램의 구성 가능한 파라미터들을 저장하기 위해 자바 관련 기술을 주로 사용하는 파일들을 위한 파일 확장자이다. 1. PropertyPlcaeHolderconfigurer 로 설정파일 읽어오기 RootApplicationContext 영역에 아래와 같이 bean을 등록해주면 된다. RootApplicationContext 영역에 bean을 설정했기에 같은 영역에 선언된 빈에서는 아래 코드를 사용해서 값을 가져올 수 있다.@Value("${project.file.upload.location}")private String saveLocation; 하지만 servlet.xml 영역에서는 해당 bean에 접근 할 수 없다. 2. pr..