引入jar包
pom.xml
搜索maven Repository官网进行复制
关于spring:spring-mvc(spring web mvc),jdbc(spring jdbc)spring面向切面编程(spring aspects)
关于mybatis:mybatis,mybatis整合spring(mybatis spring)
关于数据库库:数据库连接池(c3p0 ),mysql驱动(mysql connect)
其他(jstl,servlet-api,junit): jstl、servlet-api、junit
引入bootstrap前端框架
搜索Bootstrap中文档 下载 解压--->css、js
编写ssm整合的关键配置文件
web.xml 、spring-mvc、spring-mybatis
web.xml
启动Spring的容器:ContextLoaderListener
其中:<param-value> classpath:applicationContext.xml(spring的配置文件,主要配置和业务逻辑有关的 )<...>
springMVC的前端控制器,用来拦截所有请求:springDispatcherServlet
其中
一、<param-value>classpath:spring-mvc.xml<...>
或是不需要<init-param>,但是需要①将<servlet-name>的值改为dispatcherServlet,②在web.xml同级文件夹里建一个spring的配置文件,文件名为:dispatcherServlet-servlet.xml
二、<url-pattern>/<url-pattern>(表示拦截所有请求)
字符编码过滤器:(filter为过滤器)(要放于所有其他过滤器之前的)
<filter>
<filter-name>CharacterEncodingFilter <...>
<filter-class> <...>
</filter>
<filter-mapping>(拦截所有请求)
(CharacterEncodingFilter)
<...>
isforceRequestEncoding()==true就为此编码转换为指定字符集编码
使用Rest风格的URI(需要过滤器):
将页面普通的post请求转为指定的delete或者普通请求
HiddenHttpMethodFilter
如果从页面提交请求发不出 delete、 put之类的请求,所以需要一个过滤器,可以拦截这个请求,转为指定的请求(post、get之类的)
<filter>
<filter-name>HiddenHttpMethodFilter<...>
<filter-class>
<filter>
<filter-mapping>
<filter-name>...
<url-pattern>*/<>(拦截所有请求)
<filter-mapping>
spring-mvc的配置
主要包含网站跳转逻辑的控制
一、扫描所有的逻辑物业组件(package):
<context:compom-scan base-pakage=”com.(放组件的文件夹)” use-default-filters=”false”>
(只扫描控制器 controller)
<context:include-filter type=”” expression=”org.springframework...controller”>
<context:compon-scan>
二、配置试图解析器
(方便页面返回)
<bean class=” ...web.servlet.view.InternalResourceViewResolver ”>
value=”/WEB-INF/views(放置前端页面的路径)”
二、两个标准配置
1. 将springmvc不能处理的请求交给tomcat:
<mvc:default-servlet-handler/>
2. 支持springmvc更高级的一些功能,JSR303校验,快捷的ajax...:映射动态请求
<mvc:annotation-driven/>
Spring的配置文件
(一般命名:applicationContext.xml)
主要配置和业务逻辑有关的,数据源,事务控制
一、数据源
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc_driver}"/>
<property name="url" value="${jdbc_url}"/>
<property name="username" value="${jdbc_username}"/>
<property name="password" value="${jdbc_password}"/>
</bean>
可以建一个dbconfig.propertyties(放置与数据有关的配置)
Jdbc.jdbcUrl=jdbc:mysql://ip地址/数据库名
Jdbc.driverClass=com.mysql.jdbc.Driver
Jdbc.user=
Jdbc.password=
引用外部文件:在spring配置文件里加入(放置在前面):(value值都要改)
<context:property-placeholder location=”classpath:dbconfig.propertyties”/>(放于头部)
二、组件也得被扫描
如spring-mvc 的配置
三、配置和Mybatis的整合
<bean id="" class=""(指定mybatis全局配置文件的位置)
<property name=”configlocation” value=”classpath:mybatis-config.xml” > </>
(数据源)
<property name=”datasource” ref=”pooledDataSource”> </>
(指定mybatis、mapper文件位置)
<pr.. name=”mapperLocation” value=”classpath:mapper/*xml(表示mapper目录里所有的xml文件)”</>
</bean>
创建一个mybatis-config.xml
四、配置扫描器,将mybatis接口的实现加入到ioc容器中
class=“org.mybatis.spring.mapper.MapperScannerConfigurer”
扫描所有dao接口的实现,加入到ioc容器中)
<property name=”baesPackage” value=”(扫描所有mapper接口)”
</.>
五、事务控制的配置
<bean id=” (与下面保持一致(颜色标记))(表示用此事务管理器管理事务细节 比如怎么切入怎么处理)”
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
(控制数据源)
<property name=”dataSource” ref=””><>
</>
六、开启于注解的事务、使用xml配置形式的事务(必要主要的都是配置式)
<aop:config>
(切入点表达式)
<aop:pointcut exprssion="项目的service层..*..(表示service切入点,并且“..*”表示service包里不光是文件,子包也行)
)" id="txPoint"/>
(配置事务增强)
<aop:advisor advice-ref=”txAdvice” pointcut-ref=”txPoint(切入点表达式)”/>
七、配置事务增强,事务如何切入
<tx:advice id=”txAdvice” transaction-manage=” 为前面的事务管理器id” >
<tx:advice>
Spring配置文件的核心点:数据源(一、二)、于mybatis的整合(三、四)、事务控制(五、六、七)
Mybatis-config的配置
使用mybatis的你像工程生成对应的bean以及mapper:
需要:(在pom.xml 里添加mybatis generator的jar包)
根据mybatis generator的官网配置
1.全局配置名的编写
2.数据库连接
配置数据库连接
指定javaBean生成的位置
指定sql映射文件生成的位置(mapper)
table指定每个表的生成策略(表名(tableName)、实体类名(domainObectName))
3.生成:创建一个test类,和一个main方法运行
(main方法具体内容:根据mybatis generator的官网)