SSM:Spring+SPringMVC+Mybaits
Spring官網:https://spring.io/
SSM框架整合:SM整合+SpringMVC
分層式開發架構:
-
視圖層(JSP)
-
業務控制層(Controller)
-
業務邏輯層(Service)
-
數據持久層(Dao-Mapper)
SM整合(Spring - MyBatis) :將MyBatis的SqlSessionFactory 交給Spring
1.導jar:
spring-core.jar spring-beans.jar spring-context.jar spring-aop.jar spring-expression.jar
spring-web.jar spring-context-support.jar
spring-tx.jar spring-jdbc.jar
mybatis.jar log4j.jar commons-logging.jar commons-pool.jar commons-dbcp.jar mysql-connector-java.jar
mybatis-spring-1.3.1.jar
spring-webmvc-4.3.9.RELEASE.jar
2.類-表-DB
3.通過xxx-mapper.xml將 類-表建立映射關係
4.配置Spring配置文件(applicationContext.xml , web.xml)
<!-- 加載db.properties文件 -->
<bean id="config" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<property name="locations">
<array><value>classpath:db.properties</value></array>
</property>
</bean>
<!-- 配置配置數據庫信息(替代mybatis的配置文件conf.xml) -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</bean>
<!-- 在SpringIoc容器中 創建MyBatis的核心類 SqlSesionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 加載mapper.xml路徑 -->
<property name="mapperLocations" value="classpath:com/demo/mapper/*.xml"></property>
</bean>
db.properties:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/數據庫名
username=數據庫賬號
password=數據庫密碼
maxIdle=1000
maxActive=500
web.xml
<!-- Web項目中,引入Spring ,程序的入口-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置監聽器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
5.使用Spring-MyBatis整合產物開發程序
通過spring產生mybatis最終操作需要的 動態mapper對象(xxxMapper對象)
<!-- 將MyBatis的SqlSessionFactory 交給Spring -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<!-- 批量產生多個mapper對象-在SpringIOC中的 id值 默認就是首字母小寫接口名 (首字母小寫的接口名=id值)-->
<property name="basePackage" value="com.demo.mapper"></property>
</bean>
整合SpringMVC(Spring - SpringMVC):各自配置一遍
6.給項目加入SpringMVC支持web.xml: DispatcherServlet
<!-- 整合SPringMVC -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-controller.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
7.編寫springmvc配置文件:applicationContext-controller.xml:視圖解析器、基礎配置
<!-- 將控制器所在包 加入IOC容器 -->
<context:component-scan base-package="com.demo.controller"></context:component-scan>
<!-- 配置視圖解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- SPringMVC基礎配置、標配 -->
<mvc:annotation-driven></mvc:annotation-driven>
測試優化:
- Jmeter壓力測試:https://www.cnblogs.com/monjeo/p/9330464.html
- Jvisual-JVM
- mysqldumpslow-DB