//声明式事务在业务层 业务处理对象? 业务功能具有原子性(要么成功或失败) view层一次请求多个公共粗 持久层一次完成一个操作细
<import resource="spring-dao.xml"/>
<context:component-scan base-package="com.imooc.oa.biz"/>
<aop:aspectj-autoproxy/>//需要aspect表达式
//事务管理器 springjdbc包提供
//数据管理器的数据源
//声明通知 声明管理器
<tx:advice id=“txAdvice” transaction-manager=“transationManager”>
tx:attributes
<tx:method name=“get*” read-only=“true”/>//切入点事务过滤 不用封装
<tx:method name=“find*” read-only=“true”/>
<tx:method name=“search*” read-only=“true”/>
<tx:method name="" propagation=“REQUIRED”/>
</tx:attributes>
</tx:advice>
//通知和切入点关联
aop:config// biz包下所有类的 所有方法的 任意参数都进过滤 根据上个bean中的规则
<aop:pointcut id=“txpc” expression="execution( com.imooc.oa.biz..(…))"/>
<aop:advisor advice-ref=“txAdvice” pointcut-ref=“txpc”/>
</aop:config>
enity java与数据库表之间传递的实体类
dto页面与controller之间传递数据的声明对象 实体类不能一一对应
///
spring-web.xml
<import resource="spring-biz.xml"/>
<context:component-scan base-package="com.imooc.oa.controller"/>
<mvc:annotation-driven/>
//静态资源交给servlet处理 图片静态网页
mvc:default-servlet-handler/
//视图转换器 springweb包提供
//转换的格式 value转换器的转换类型springweb包下
//路径的前缀后缀
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.imooc.oa.global.LoginInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
/
web.xml
//编码过滤器配置 转换字符集为utf-格式
encoding
com.imooc.oa.global.EncodingFilter //类所在位置
encoding
utf-8 //需要修改其他编码类型直接在此改动
encoding
/* //所有的请求
<servlet-mapping> //servlet在创建时默认配置好了 名为default 请求静态资源直接请求此servlet
<servlet-name>default</servlet-name>
<url-pattern>/assets/*</url-pattern>
<url-pattern>/js/*</url-pattern>
<url-pattern>/vendor/*</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet> //创建名为springmvc的servlet
<servlet-name>SpringMVC</servlet-name>
//springweb目录下面提供
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
//初始化参数告知配置文件位置(使用全局参数也可)
<init-param>
<param-name>contextConfigLocation</param-name>//配置文件
<param-value>classpath:spring-web.xml</param-value>//路径
</init-param>
<load-on-startup>1</load-on-startup>//项目启动 自动加载
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>//所有的请求路径
</servlet-mapping>
//
package com.imooc.oa.global;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//filter javax.servlet包下的类
public class EncodingFilter implements Filter {
private String encoding = “utf-8”;
//初始化
public void init(FilterConfig filterConfig) throws ServletException {
if(filterConfig.getInitParameter(“encoding”)!=null){
encoding = filterConfig.getInitParameter(“encoding”);
}
}
//拦截过滤 接收响应以utf-8 并设置拦截器链
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
filterChain.doFilter(request,response);
}
public void destroy() {
}
}