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