IOC나 DI를 통해 의존성을 주입할 수 있기 때문에 다양한 스프링 모듈을 사용할 수 있다.
1. Spring 은?
- web.xml
- DispatcherServlet 클래스를 등록
- url-pattern 태그에서는 요청에 대해서 응답받을 수 있도록 설정
- 인코딩 타입이나 log4 설정
- action-servlet.xml(dispatcherServlet.xml)
- 뷰 리졸버는 컨트롤러에서 데이터를 받은 후 리턴할 때 뷰 이름을 지정해서 리턴
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value> </property> <property name="prefix" value="/browser/" /> <property name="suffix" value=".jsp" /> </bean> <!-- URL Handler Mapping --> <bean id="defaultHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
- 뷰 리졸버는 컨트롤러에서 데이터를 받은 후 리턴할 때 뷰 이름을 지정해서 리턴
- DataAccessContext.xml
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${DB.driver}"/>
<property name="url" value="${DB.url}"/>
<property name="username" value="${DB.id}"/>
<property name="password" value="${DB.pw}"/>
<property name="defaultAutoCommit" value="false"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:/mybatisConfig/mybatisConfiguration.xml"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
- pom.xml
- 수 많은 dependency 를 등록해주어야 한다.
2. Spring Boot 는?
- Spring Boot Starter 로 바로 실행 가능
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-web은 다음과 같은 의존성이 추가됩니다.
🔹 starter-web
🔹 starter-webmvc
🔹 spring-boot-starter-tomcat
🔹tomcat-embed-core
🔹tomcat-embed-logging-juli
- Embed Tomcat
- 내장 톰캣
- 독립적으로 실행 가능한 jar
- AutoConfiguration
- DispatcherServlet 같은 설정을 어노테이션을 이용하여 대신할 수 있도록 해준다.
3. 차이점
- Embed Tomcat을 사용
- starter을 통한 dependency 자동화
- XML설정을 하지 않아도 됨
- jar file을 이용해 자바 옵션만으로 손쉽게 배포가 가능
- Spring Actuaor를 이용한 애플리케이션의 모니터링과 관리를 제공
'JAVA > 지식' 카테고리의 다른 글
[장애조치] .hprof 로그 (0) | 2021.10.27 |
---|---|
[장애조치] hs-err-pid 로그 분석 (0) | 2021.10.27 |
[Java] GC(Garbage Collection) 개념 및 동작원리 이해 (0) | 2021.08.18 |
JDBC & DBCP 란? 그리고 JNDI 와의 관계 (0) | 2021.08.01 |
JNDI 란? 이름으로 쉽게 찾을 수 있는 기능 (0) | 2021.08.01 |