전체 글 103

8. DB 연동

JDBC를 사용해봤다면 DB에 연결하기 위해 반복적인 코드가 너무 많은 경험이 있을 것이다. 구조적인 반복을 줄이기 위해 JdbcTemplate 클래스를 사용할 수 있다. JdbcTemplate를 사용하기 위해서는 pom.xml에 다음 dependency를 추가한다. //JdbcTemplate 등 JDBC 연동에 필요한 기능을 제공한다. org.springframework spring-jdbc 5.0.2.RELEASE //DB 커넥션 풀 기능을 제공한다. org.apache.tomcat tomcat-jdbc 8.5.27 //Mysql 연결에 필요한 JDBC 드라이버 제공 mysql mysql-connector-java 5.1.45 커넥션 풀 한줄 요약 DB에 접근하는 일정 연결 객체 생성해 놓고 빌려주고..

카테고리 없음 2021.11.14

7 . 스프링의 핵심 기술 !! - AOP 프로그래밍

AOP( Aspect Oriented Programming : 관점 지향 프로그래밍 )란 OOP( Object Oriented Programming : 객체 지향 프로그래밍)을 보완하는 수단으로 , 여러 곳에서 쓰이는 공통 기능을 모듈화하고, 쓰이는 곳에 필요할 때 연결함으로 , 유지보수, 재사용이 용이하도록 프로그래밍 하는 것이다. 그냥 OOP 쓰면 되지 왜 AOP를 따로 쓰냐 ?? 예시로 쉽게 이해해보자. 더보기 개발자가 회원가입 처리에 걸리는 시간을 계산하고 로그를 찍는 코드를 추가했다. 그런데 구현된 것을 본 팀장님이 너무 좋아서 모든 service에 적용하게 만들라고 했다. 근데 그 프로젝트의 로직은 10만개 이다. 카드 값을 위해 퇴사하지 못한 개발자는 돌아와서 모든 로직에 적용을 하던 중 생..

스프링 라이프 사이클

스프링은 빈(Bean)을 컨테이너에 등록을 시키고 난 후에 의존 관계를 주입시킨다. //1. 스프링 컨테이너 초기화 AbstractApplicationContext ctx = new AnnotationConfigApplicationContext(AppCtx.class); //2. 빈 객체를 컨테이너에서 구해서 사용. Client client = ctx.getBean(Client.class); client.send(); //3. 컨테이너 종료. ctx.close(); 더보기 1. AnnotationConfigApplicationContext 의 생성자로 AppCtx(컨텍스트) 객체 생성 & 컨테이너는 설정 클래스에서 정보를 읽어와 빈 객체 생성 , 빈 연결작업. 2. 빈 객체를 구해서 사용 3. 컨테이너 ..

자바 빌드 툴 - 앤트(Ant) 메이븐 (Maven)과 그레이들(Gradle)

메이븐 : https://maven.apache.org 그레이들 : https://gradle.org/ Gradle Build Tool Accelerate developer productivity. Gradle helps teams build, automate and deliver better software, faster. gradle.org Maven – Welcome to Apache Maven Welcome to Apache Maven Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a proje..

Spring 2021.11.04

Java에서 DBCP의 개념과 쓰는 법

더보기 DBCP는 (Database Connection Pool) 의 약자로 웹서버에서 데이터베이스에 연결하기 위한. 라이브러리다. 아니 그럼 데이터베이스 있는데 왜 DBCP를 따로 쓰려고 함 ??? 라고 생각 할 수도 있는데, 간단하게 예시(1)를 들어보자. 더보기 나는 JDBC 쓸 때 나는 ojdbc8-21.3.0.0.jar ()를 썼다. Tomcat으로 웹서버를 구동해보면 3-4명이서 F5 (새로고침)을 인정과 자비없이 눌러대면 얼마 못가서 서버는 주식을 한 내 계좌처럼 금새 터지고 만다....뚀륵.... 터지는 이유는 물론 우리가 사용할 수 있는 자원은 한정되어 있는데, 무한 새로고침으로 서버에게 다른일을 할 시간을 주지않고 ' 그 페이지나 가져와 !' 를 한다면 서버는 기계이기 때문에 시킨일을 ..

JSP&Servlet 2021.10.30

[ ORA - 12519 ] - TNS:no appropriate handler found 에러

JSP / Servlet 으로 프로젝트를 만들던 중 처음 보는 에러가 떴다. 검색해보니까 한 계정에서 가지고 있는 SQL에서 가지고 있는 프로세스의 수를 초가해서 오류가 난 것이다. 해결 방법이자 원인은 어디에도 적혀있지 않은 Connection close() 메서드... conn.close() 해주자... 추가로 System 계정에서 ( 만든 계정은 권한이 부족한가 봄 ) select * from v$resource_limit where resource_name = 'processes'; 이 구문 쓰면 허용된 프로세스가 몇개인지 볼 수 있다.

SQL/Error 2021.10.25

백준 2750번 문제 ( 정렬하기 )

문제는 직접 가서 보는것이 예의 'ㅅ' https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 맨 처음에는 내가 학원 처음 다니면서 배웠던 Scanner 를 사용해서 문제를 풀었다. ( 사실 이게 익숙해서 ) package sort; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class B_2750 { public static..

스프링 주요 특징

스프링 프레임워크 ( Spring FrameWork ) 스프링 프레임 워크가 뭘까?? 자바 엔터프라이즈 ( Java EE ) 개발을 위한 오픈소스 애플리케이션 프레임워크 그래서 프레임 워크는 뭔데?? FrameWork - 뼈대라는 뜻. 구조가 짜여진 것이라고 생각하면 편할 것 같다. 그냥 쓰면 되지 왜 굳이 프레임워크를 쓸까?? 사람들의 개성은 너무 다양하고 능력도 제각기 다 다르다. 특히 개발할 때 개발자 마다의 능력은 다 다르기 때문에, 어떤 사람은 코드를 간결하게 짜는 사람이 있고 , 그 반대의 사람이 있다. 그러면 개발된 애플리케이션의 성능은 들쑥날쑥일것이다. 나중에 코드를 다시 고칠 때에도 최악의 상황에선 만든 사람 본인만 이해하는 코드라 다시 짜야 될 수도 있을 것이다. 그래서 나온게 프레임워..

Spring 2021.10.16