개인공부
-
1. 커넥션 풀의 개요 커넥션 풀을 사용하면 풀 속에 미리 커넥션이 생성되어있기 때문에 커넥션을 생성하는데 드는 연결 시간이 소비되지 않는다. 또한 현재 다른 사용자가 사용하지 않는 커넥션을 재사용이 가능하기 때문에 사용자가 접속할 때마다 계속해서 커넥션을 생성할 필요가 없다. 즉, 커넥션 풀을 사용한다면 프로그램 효율과 성능이 전체적으로 증가하게 된다. 2. JNDI의 개요 JNDI(Java Naming and Directory Interface)란 명명 서비스 및 디렉토리 서비스에 접근하기 위한 API를 말한다. 즉 특정 자원에 접근하기 위한 이름으로 사용된다. 3. 톰캣에서 제공되는 CP를 위한 DBCP API를 사용하여 데이터 베이스 사용하기 context.xml
[JSP] 커넥션 풀1. 커넥션 풀의 개요 커넥션 풀을 사용하면 풀 속에 미리 커넥션이 생성되어있기 때문에 커넥션을 생성하는데 드는 연결 시간이 소비되지 않는다. 또한 현재 다른 사용자가 사용하지 않는 커넥션을 재사용이 가능하기 때문에 사용자가 접속할 때마다 계속해서 커넥션을 생성할 필요가 없다. 즉, 커넥션 풀을 사용한다면 프로그램 효율과 성능이 전체적으로 증가하게 된다. 2. JNDI의 개요 JNDI(Java Naming and Directory Interface)란 명명 서비스 및 디렉토리 서비스에 접근하기 위한 API를 말한다. 즉 특정 자원에 접근하기 위한 이름으로 사용된다. 3. 톰캣에서 제공되는 CP를 위한 DBCP API를 사용하여 데이터 베이스 사용하기 context.xml
2022.10.07 -
Java 언어를 이용해 개발을 하다 보면 기계적으로 작성해야 하는 코드들이 상당히 많다. 이번에는 기계적인 코드 작성을 자동화하여 코드 다이어트를 해주는 Java 필수 라이브러리 Lombok에 대해 알아보도록 하겠다. 1. Lombok의 필요성 [ 기존의 코드 작성 ] 예를 들어 우리가 경기도 지역화폐 가맹점에 대한 상점 목록을 반환해주는 SpringBoot 기반의 API 서버를 개발한다고 가정하자. 우리는 기존에 Java를 활용하여 프로젝트를 개발할 때 다양한 VO 클래스들을 생성하였고, 해당 예제의 경우 가게들의 정보를 저장하는 Store를 아래와 같이 만들어줄 수 있다. public class Store extends Common { private String companyName; // 상호명 p..
Lombok이란? 및 Lombok 활용법Java 언어를 이용해 개발을 하다 보면 기계적으로 작성해야 하는 코드들이 상당히 많다. 이번에는 기계적인 코드 작성을 자동화하여 코드 다이어트를 해주는 Java 필수 라이브러리 Lombok에 대해 알아보도록 하겠다. 1. Lombok의 필요성 [ 기존의 코드 작성 ] 예를 들어 우리가 경기도 지역화폐 가맹점에 대한 상점 목록을 반환해주는 SpringBoot 기반의 API 서버를 개발한다고 가정하자. 우리는 기존에 Java를 활용하여 프로젝트를 개발할 때 다양한 VO 클래스들을 생성하였고, 해당 예제의 경우 가게들의 정보를 저장하는 Store를 아래와 같이 만들어줄 수 있다. public class Store extends Common { private String companyName; // 상호명 p..
2022.10.06 -
public class Greeter { private String format; public String greet(String guest) {//입력받은 문자열을 포맷설정으로 반환 return String.format(format, guest); } public void setFormat(String format) {//문자열 포맷 설정 this.format = format; } } import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration//해당 클래스를 스프링 설정 클래로 지정하는 어노테이션이다 public class AppCon..
spring 입문public class Greeter { private String format; public String greet(String guest) {//입력받은 문자열을 포맷설정으로 반환 return String.format(format, guest); } public void setFormat(String format) {//문자열 포맷 설정 this.format = format; } } import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration//해당 클래스를 스프링 설정 클래로 지정하는 어노테이션이다 public class AppCon..
2022.10.06 -
어노테이션(@, annotation)이란? Annotation은 Java5부터 새롭게 추가된 문법요소이다. 사전적으로는 "주석"이라는 의미를 가지고 있으며, 자바 코드에 @를 이용해 주석처럼 달아 특수한 의미를 부여해준다. 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공하고, 코드에 정보를 추가하는 정형화된 방법이다. 어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다. ps. 자바 리플렉션 : 다른 언어에는 존재하지않는 특별한 기능으로, 컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 객체를 통해 분석 및 추출해내는 프로그래밍 기법 @SpringBootApplication @Configuration + @EnableAutoConfiguration + @ComponentSc..
어노테이션(@, annotation)의 정의와 종류어노테이션(@, annotation)이란? Annotation은 Java5부터 새롭게 추가된 문법요소이다. 사전적으로는 "주석"이라는 의미를 가지고 있으며, 자바 코드에 @를 이용해 주석처럼 달아 특수한 의미를 부여해준다. 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공하고, 코드에 정보를 추가하는 정형화된 방법이다. 어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다. ps. 자바 리플렉션 : 다른 언어에는 존재하지않는 특별한 기능으로, 컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 객체를 통해 분석 및 추출해내는 프로그래밍 기법 @SpringBootApplication @Configuration + @EnableAutoConfiguration + @ComponentSc..
2022.10.06 -
Maven 메이븐이란 무엇인가? - 프로젝트를 진행하게 되면 단순히 자신이 작성한 코드만으로 개발하는 것이 아니라 많은 라이브러리들을 활용해서 개발을 한다. 이때 라이브러리들의 수가 수십 개가 넘는 일이 발생하곤 하는데, 라이브러리들이 많아지면 관리가 힘들어지게 된다. 이때 필요한 게 메이븐이다. - 메이븐은 내가 사용할 라이브러리뿐만 아니라 해당 라이브러리가 작동하는데 필요한 다른 라이브러리들까지 관리하여 네트워크를 통해서 자동으로 다운로드하여 준다. 예를 들어보면, 10명이서 프로젝트를 진행하는데 라이브러리를 추가하고 삭제해야 하는 과정이 생겼다. 여기서 사용하는 라이브러리 수가 몇 개 안 된다면jar를 추가하는 방식으로 사용할 수 있지만, 프로젝트의 사이즈가 커지고 사용하는 라이브러리가 많아진다면 ..
MAVEN이란?Maven 메이븐이란 무엇인가? - 프로젝트를 진행하게 되면 단순히 자신이 작성한 코드만으로 개발하는 것이 아니라 많은 라이브러리들을 활용해서 개발을 한다. 이때 라이브러리들의 수가 수십 개가 넘는 일이 발생하곤 하는데, 라이브러리들이 많아지면 관리가 힘들어지게 된다. 이때 필요한 게 메이븐이다. - 메이븐은 내가 사용할 라이브러리뿐만 아니라 해당 라이브러리가 작동하는데 필요한 다른 라이브러리들까지 관리하여 네트워크를 통해서 자동으로 다운로드하여 준다. 예를 들어보면, 10명이서 프로젝트를 진행하는데 라이브러리를 추가하고 삭제해야 하는 과정이 생겼다. 여기서 사용하는 라이브러리 수가 몇 개 안 된다면jar를 추가하는 방식으로 사용할 수 있지만, 프로젝트의 사이즈가 커지고 사용하는 라이브러리가 많아진다면 ..
2022.10.06 -
(현재 사용하고 있는 IntelliJ 버젼은 얼티메이트) 'Maven' 프로젝트 선택 새 프로젝트 생성시 - Maven 선택후 아무것도 누르지말고 Next 'GroupId' 와 'ArtifactId' 설정 GroupId : 보통 프로젝트가 진행되는 회사의 주소를 역순으로 써놓은 형식을 사용 ex) com.naver.test ArtifactId : 보통의 프로젝트 ID와 동일하게 설정 Project location : 프로젝트를 저장할 위치를 지정 생성된 디렉토리 구조의 프로젝트 구성 Spring MVC 설정 (현재 사용하고 있는 IntelliJ 버젼은 얼티메이트) 좌측의 test라는 모듈을 우클릭 - Add Framework Support 선택 Spring MVC 선택 lib와 web 디렉토리가 추가가 ..
IntelliJ Spring 프로젝트 생성(현재 사용하고 있는 IntelliJ 버젼은 얼티메이트) 'Maven' 프로젝트 선택 새 프로젝트 생성시 - Maven 선택후 아무것도 누르지말고 Next 'GroupId' 와 'ArtifactId' 설정 GroupId : 보통 프로젝트가 진행되는 회사의 주소를 역순으로 써놓은 형식을 사용 ex) com.naver.test ArtifactId : 보통의 프로젝트 ID와 동일하게 설정 Project location : 프로젝트를 저장할 위치를 지정 생성된 디렉토리 구조의 프로젝트 구성 Spring MVC 설정 (현재 사용하고 있는 IntelliJ 버젼은 얼티메이트) 좌측의 test라는 모듈을 우클릭 - Add Framework Support 선택 Spring MVC 선택 lib와 web 디렉토리가 추가가 ..
2022.10.06