ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [이론] 1/12 수 Spring Framework
    Spring 2022. 1. 12. 19:01

    servlet-context.xmll / root-context.xmll : 스프링 설정파일!

     

    HikariCP : 매우 가볍고 빠르고 안정적인 JDBC Connection Pool / DBCP(DataBase Connection Pool)기법

          ‘zero-overhead’ : 속도가 매우 빠르다.

     

    Connection Pool(커넥션을 관리하는 재활용 가능한 메모리 공간) : Connection을 재활용하자!

                             Connection 하나만 재활용하기엔 시간이 오래걸림 / 여러개를 만들어 놓고 재활용한다!

     

    DB에서 속도가 가장 느린 부분 : 연결!

    Connection을 맺는 과정은 상당히 복잡할 뿐만아니라 컴퓨터의 자원을 많이 소모하는 작업임

    1. DB 커넥션을 미리 만든다.

    2. 커넥션을 꺼내서 쓰고 반납( close() ) -> 재활용

    -> DB 성능 향샹

     

    https://oingdaddy.tistory.com/13

    : Spring + HikariCP DataSource 설정 참고주소

     

    <bean></bean> : 객체를 생성하는 태그

     

    A a = new A();
    a.setId("bit");
    
    <bean id=“a” class=“A”>
    	<property name="id" value="bit"/>      -> setter메소드를 호출하는 태그 name이라는 변수에 value넣기
    </bean>
    
    -> 위 아래 같은 의미
    -----------------------------------------------------------------------------------------------------
    A a = new A();
    B b = new B(a);
    
    <bean id="a" class="A"/>
    <bean id="b" class="B">
    	<constructor-arg ref="a"/>           -> 생성자메소드를 호출해라 / ref: a를 참조해라!
    </bean>
    
    -> 위아래 같은 의미

     

    1. DB와 연결하기 위해서는 mysql과 연결시켜주는 MySQL Driver API 필요

    2. Spring과 DB를 연결해주는 Spring-JDBC드라이버 필요

              HikariCP는 DataSource가 연결하는데 JDBC로 연결하므로 JDBC 드라이버가 필요하다!

    3. HikariCP로 DBCP를 만들어준다. (재활용 가능한 메모리공간)

    4. sql문을 전달하기 위해서는 SqlSessionFactoryBean이 필요하다.( SqlSessionFactoryBean HikariDataSource DB )                    -> SqlSessionFactoryBean은 mybastis-spring API에 존재

     

                       -> 하지만 SqlSessionFactoryBean을 사용하기 위해서는 mybastis 라는 API가 필요함

    5. mybatis와 Spring을 연결해주는 mybatis-spring API 필요

     

    설치한 API

          1. HikariCP : HikariCP API

          2. mysql-connector-java : mysql드라이버

          3. spring-jdbc : DB와 HikariCP연결

          4. mybatis-spring : 브릿지API

          5. mybatis : sql문을 사용하기 위한 API

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    댓글

Designed by Tistory.