반응형

spring 35

Spring Framework Project에서 DataBase 사용

1. 필요한 lib commons-logging.jar ojdbc14.jar postgresql.jdbc3.jar spring.jar tomcat-dbcp.jar 2. 테스트 소스 (1) DataStuff.java (JdbcTemplate를 이용해서 처리) import java.util.List; import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; public class DataStuff { private DataSource dataSource; private JdbcTemplate jdbcTemplate; List getNames() { return jdbcTemplate.queryForList("select *..

웹 개발 2019.08.11

[spring] 생성자 혼동 피하기

/* 생략 */ public ConstructorConfusionDemo(String someValue) { System.out.println("string"); } public ConstructorConfusionDemo(int someValue) { System.out.println("int"); } /* 생략 */ 위와같은 생성자가 있을때, 이와 같은 코드를 작성하면 ConstructorConfusionDemo(String someValue) 생성자가 호출된다. 이 경우, public ConstructorConfusionDemo(int someValue)생성자를 호출하고 싶다면 아래와 같이 type를 추가시켜주어야 한다.

웹 개발 2019.08.11

[spring] 같은 팩토리 내부의 빈 주입하기

Spring이 어떤 빈을 다른 빈에 주입하도록 설정하려면 먼저 두 개의 빈을 설정해야 한다. 하나는 주입할 것이고 다른 하나는 주입을 받을 대상이다. 그렇게 한 다음, 간단히 ref 속성을 대상 빈에 사용하여 주입을 설정하면 된다. 예) 여기서 주목해야 할 점은 주입하는 것의 타입이 실제로 주입 받는 대상에 정의한 타입과 일치하지 않아도 된다는 것이다. 타입은 단지 호환성만 있으면 된다. 호환성이 있다는 것의 의미는 예를 들어 만약 타겟에 선언된 타입이 인터페이스라면 주입한 타입은 반드시 그 인터페이스를 구현해야 한다. 선언된 타입이 클래스라면 주입된 타입은 반드시 같은 타입이거나 하위 타입이어야 한다. 태그를 사용하지 않고도 p 네임스페이스를 사용하여 어떤 빈을 다른 빈에 주입할수도 있다. 예) 이 코..

웹 개발 2019.08.11

Spring의 특장점

- Inversion of Control - 개념 : 객체 간의 의존관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존 관계를 설명 - 장점 : 테스트와 코드 수정이 용이하다. Ex] public class WriteArticleServiceImpl { private ArticleDao articleDao; public WriteArticleServiceImpl(ArticleDao articleDao) { this.articleDao = articleDao; } ... } 외부 설정 파일 (applicationContext.xml) - AOP - 기능을 핵심 비즈니스 로직과 공통 모듈로 구분하고, 핵심 로직에 영향을 미치지 않고 이 사이에 공통 모듈을 효과적으로 잘 끼워 넣도록 ..

웹 개발 2019.08.11

Spring Framework 핵심개념 [1. Injection of Control]

1. 개념 객체 간의 의존 관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존관계를 설명한다는 것 IoC(Inversion of Control)이라고도 함. 2. 예제 1) 직접 선언하는 방법 public class WriteArticleServiceImpl { private ArticleDao articleDao = new MysqlArticleDao(); ... } 이 방법은 손쉬운 방법이긴 하지만 단위테스트를 어렵게 만드는 단점이 있다. articleDao 멤버 필드에 mock 객체를 할당할 수 없기 때문에, WriteArticleServiceImpl 클래스를 테스트하기 위해서는 반드시 올바르게 동작하는 MysqlArticleDao 클래스가 존재해야 한다. 또 다른 단점으로..

웹 개발 2019.08.11

Spring 설정 파일을 이용한 의존 관계 설정

1. bean 생성과 의존관계 설정 스프링은 각 객체를 bean으로 관리한다. 태그는 스프링이 관리할 하나의 객체를 설정하는데 사용된다. 태그의 name속성이 bean의 이름을 의미하고, class속성이 생성될 객체의 클래스 타입이다. 태그는 "writeArticleService" bean 객체를 생성할 때, 생성자에 전달할 파라미터를 명시하기 위해 사용된다. 위 코드의 경우 생성자에 "articleDao" bean 객체를 전달한다고 명시하였다. 이는 코드로는 아래와 같은 의미를 갖는다. MysqlArticleDao articleDao = new MysqlArticleDao(); WriteArticleServiceImpl writeArticleService = new WriteArticleServiceI..

웹 개발 2019.08.11

[Spring 3.2.8 + maven + mybatis 3.2.2 + mybatis-spring 1.2.0]hikariCP 사용하기

hikaricp(히카리 커넥션풀)은 빠른 속도로 인해 점점 더 주목 받고 있는 커넥션 풀입니다. 공식 홈페이지 : https://github.com/brettwooldridge/HikariCP brettwooldridge/HikariCP 光 HikariCP・A solid, high-performance, JDBC connection pool at last. - brettwooldridge/HikariCP github.com 위 홈페이지 내용을 보면 "현존하는 가장 빠른 커넥션 풀" 이라고 소개하고 있습니다. 또한 안정성도 보장됩니다. boneCP의 경우 히카리로 인해 개발을 중단한다고 써져 있습니다. 설치 및 사용 방법은 아래와 같습니다. 1. pom.xml 설정 ( maven 설정 ) 1) Hikari..

728x90
반응형
loading