Spring

· Spring
결과가 1행인 경우 사용할 수 있는 qureyForObject 메서드에 대해 알아봅시다. 결과가 1행인 경우 사용할 수 있는 qureyForObject() 메서드 다음은 query() 메서드를 사용한 코드입니다. public int count(){ List results = jdbcTemplate.query( "select count(*) from MEMBER", new RowMapper(){ @Override public Integer mapRow(Resultset rs, int rowNum) throws SQLException{ return rs.getInt(1); } }); return results.get(0); } count(*) 쿼리는 결과가 한 행뿐이니 쿼리 결과를 List로 받기보다는 In..
· Spring
스프링을 사용하면 DataSource나 Connection, Statemement, ResultSet을 직접 사용하지 않고, JdbcTemplate을 이용해서 편리하게 쿼리를 실행할 수 있습니다. JDBCTemplate 생성하기 package spring; import java.util.Collection; import org.apache.tomcat.jdbc.pool.DataSource; import org.springframework.jdbc.core.JdbcTemplate; public class MemberDao { private JdbcTemplate jdbcTemplate; public MemberDao(DataSource dataSource) { this.jdbcTemplate = new J..
· Spring
Tomcat JDBC의 주요 프로퍼티 Tomcat JDBC 모듈의 DataSource(org.apache.tomcat.jdbc.pool.DataSource) 클래스는 커넥션 풀 기능을 제공하는 DataSource 구현 클래스입니다. DataSource 클래스는 커넥션을 몇 개 만들지 지정할 수 있는 메서드를 제공합니다. setInitialSize(int) 커넥션 풀을 초기화 할때 생성할 초기 커넥션 개수 지정 기본값 : 10 setMaxActive(int) 커넥션 풀에서 가져올 수 있는 최대 커넥션 개수 지정 기본 값 : 100 setMaxIdle(int) 커넥션 풀에 유지할 수 있는 최대 커넥션 개수 지정 기본값 : maxActive setMinIdle(int) 커넥션 풀에 유지할 최소 커넥션 개수 지..
· Spring
스프링에서 JDBC를 사용해려면 pom.xml을 다음과 같이 구성해야 합니다. org.springframework spring-context 5.0.2.RELEASE org.springframework spring-jdbc 5.0.2.RELEASE org.apache.tomcat tomcat-jdbc 8.5.27 mysql mysql-connector-java 5.1.45 * spring-jdbc : JdbcTemplate 등 JDBC 연동에 필요한 기능을 제공합니다. * tomca-jdbc : DB 커넥션풀 기능을 제공합니다. * mysql-connector-java : MySQL 연결에 필요한 JDBC 드라이버를 제공합니다. 스프링이 제공하는 트랜잭션 기능을 사용하려면 spring-tx 모듈이 필요한..
· Spring
JDBC 프로그래밍의 단점을 보완하는 스프링 JDBC API를 이용하면 DB 연동에 필요한 Connection을 구한 다음 쿼리를 실행하기 위한 PreparedStatement를 생성합니다. 그리고 쿼리를 실행한 뒤에는 finally 블록에서 ResultSet, PreparedStatement, Connection을 닫습니다. JDBC API를 이용한 DB 연동 코드 구조 Member member; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost/spring5fs", "spring5", "spring5..
· Spring
@Pointcut 가 아닌 @Around에 execution 명시자를 직접 지정할 수 도 있습니다. @Asepct public class CacheAspect{ @Around("execution(public * chap07..*(..))") public Object execute(ProceedingJoinPoint joinPoint) throws Throwable { ... } } 만약 같은 Pointcut을 여러 Advice가 함께 사용한다면 공통 Pointcut을 재사용할 수도 있습니다. ExeTimeAspect @Aspect @Order(1) public class ExeTimeAspect { @Pointcut("execution(public * chap07..*(long))") private vo..
· Spring
이번에는 Spring에서 Advice 적용 순서에 대해 알아보겠습니다. 한 Pointcut에 여러 Advice를 적용할 수도 있습니다. CacheAspect package aspect; import java.util.HashMap; import java.util.Map; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; /** * 간단하게 캐시 기능을 구현한 클래스 */ @Aspect public class CacheAspect { privat..
· Algorithm
27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net 문제 단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오. 저는 문자열 함수 인 charAt()를 사용했습니다. package main; import java.util.*; import java.io.*; // The main method must be in a class named "Main". class Main27866 { public static void main(String[] args) throws Exc..
· Spring
Aspect를 적용할 위치를 지정할 때 사용한 Pointcut 설정을 보면, execution 명시자를 사용했습니다. @Aspect public class ExeTimeAspect { @Pointcut("execution(public * chap07..*(..))") private void publicTarget() { } execution 명시자는 Advice를 적용할 메서드를 지정할 때 사용합니다. 기본형식 execution(수식어패턴? 리턴타입패턴 클래스이름패턴?메서드이름패턴(파라미터패턴)) '수식어패턴'은 생략가능하며 public, protected 등이 옵니다. 스프링 AOP는 public 메서드에만 적용할 수 있기 때문에 사실상 public만 의미가 있습니다. '리턴타입패턴'은 리턴 타입을 명..
· Spring
[Spring] Spring AOP 구현해보기 (@Aspect, @Pointcut, @Around) 이전 글 [Spring] Spring AOP AOP AOP : Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법입니다. AOP는 핵심 기능과 공통 기능 muscleking3426.tistory.com 프록시 생성 방식 package config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context...
runnnerDevHong
'Spring' 태그의 글 목록 (4 Page)