犀牛云做网站网络培训心得体会
2026/1/24 16:35:59 网站建设 项目流程
犀牛云做网站,网络培训心得体会,开源商城网站,北京互联网公司前10强有哪些这里提到父子容器的概念#xff0c;getServletConfigClasses 里面的容器可以访问getRootConfigClasses的容器#xff0c;但是#xff0c;getRootConfigClasses里的容器不能访问getServletConfigClasses里面的容器启动类的标准写法事务处理public class JdbcConfig{Beanpubli…这里提到父子容器的概念getServletConfigClasses 里面的容器可以访问getRootConfigClasses的容器但是getRootConfigClasses里的容器不能访问getServletConfigClasses里面的容器启动类的标准写法事务处理public class JdbcConfig{Beanpublic PlatformTransactionManager transactionManager(DataSource dataSource){DataSourceTransactionManager transactionManager new DataSourceTransactionManager(dataSource);return transactionManager}}ConfigurationComponentScan(com.itheima)PropertySource(classpath: jdbc.property)Import({JdbcConfig.class,MybatisConfig.class})EnableTransactionManagementpublic class SpringConfig{}Transactionalpublic interfact BookService{}web配置类public class ServleetContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer{protected Class?[] getRootConfigClasses(){return new Class[]{SpringConfig.class};}protected Class?[] getServletConfigClasses(){return new Class[]{SpringMvcConfig.class};}pritected Filter[] getServletFilters(){return new String[]{/};}Overrideprotected Filter[] getServletFilters(){CharacterEncodingFilter filternew CharacterEncodingFilter();filter.setEncoding(UTF-8);return new Filter[]{filter};}}SpringMVC配置类ConfigurationComponentScan({com.itheima.controller})EnableWebMvcpublic class SpringMvcConfig{}表现层数据封装前端接收数据由于返回的数据可能很多种所有我们需要一个统一的格式前端接收数据格式一封装异常处理器:程序开发过程中不可避免的会遇到异常现象各个层级均出现异常异常处理代码书写在哪一行所有的异常均抛出到表现层进行处理异常处理器RestControllerAdvice 声明这是个异常处理类类注解Rest风格开发的控制器增强类定义上方为Rest风格开发的控制器类做增强RestControllerAdvicepublic class ProjectExceptionAdvice{}此注解自带ResponseBody注解与Componene注解具备对应的功能ExceptionHandler : 则是声明要处理什么样的异常项目异常分类业务异常(BusinessException)规范的用户行为产生的异常不规范的用户行为操作产生的异常系统异常(SystemException)项目运行过程中可预计且无法避免的异常其他异常(Exception)编程人员未预期到的异常项目异常处理的步骤public class SystemException extends RuntimeException{private Integer code;public SystemException(Integer code,String message){super(message);this.codecode;}public SystemException(Integer code ,String message,Throwable cause){super(message,cause);this.codecode;}public Integer getCode(){return code;}public void setCode(Integer code){this.codecode;}}放行某些请求拦截器拦截器是一种动态拦截方法调用的机制在SpringMVC中动态拦截控制器方法的执行作用在指定的方法调用前后执行预先设定的代码阻止原始方法的执行拦截器与过滤器归属不同 Filter属于Servlet技术,Interceptor属于SpringMVC技术拦截内容不同: Filter对所有访问进行增强Interceptor仅针对SpringMVC的访问进行增强声明拦截器的bean,并实现HandlerInterceptor接口(注意: 扫描加载bean)Component把它装进IOC容器public class ProjectInterceptor implements HandlerInterceptor{拦截的原始操作之前进行public boolean preHandle(..) throws Exception{.......return true;这里必须是true ,否则原始操作无法进行就终止了}拦截的原始操作之后进行public void postHandle(..) throws Exception{.........}拦截的原始操作之后并且在postHandle之后进行public void afterCompletion(..) throws Exception{.........}}拦截器的参数参数request: 请求对象response: 响应对象handler: 被调用的处理器对象本质上是一个方法对象,对反射技术中的method对象进行了再包装返回值为flase: 被拦截的处理器将不执行多拦截器执行顺序当配置多个拦截器时形成拦截器链

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询