zoukankan      html  css  js  c++  java
  • 搭建spring web项目遇到的问题

    1. spring配置文件配置了某个service,然后通过set方法注入属性值,而且注入成功,但是之后真正调用的的时候 属性值是空的,发现原因为:
      service类有@Service注解,导致该类在spring上加载了两次,一个有属性值,一个没有属性值,去掉注解即可。

    2. aop配置内容,应该在spring-servlet.xml配置文件内引用,而不是spring.xml里面引用,因为前者是servlet配置文件。

    3. mvc 传递参数时,@RequestBody ClassReqVo reqVo 注解的,如果不传递该对象的参数,会报错。

    4. mvc 传递参数时,@RequestParam(value = "accessToken", required = false) String accessToken 可以获取Get参数。

    5. Ajax无法实现下载文件,只能通过Get方式访问链接,在后台输出文件流下载文件。

       try{
       	response.reset();
      
       	response.addHeader("Content-Disposition", "attachment;filename=" + new String (outPutFileName.getBytes("UTF-8"),"ISO8859-1"));
       	response.setContentType("application/msexcel-print-Consignment;charset=UTF-8");
       	OutputStream out = response.getOutputStream();
       	workbook.write(out);
       	out.flush();
       	workbook = null;
       	out.close();
       } catch (Exception e) {
       	e.printStackTrace();
       }
      
    6. PageHelper插件 自动实现分页

      • pom.xml 引入jar包

          	<!-- mybatis分页插件依赖 -->
              <dependency>
                  <groupId>com.github.pagehelper</groupId>
                  <artifactId>pagehelper</artifactId>
                  <version>4.2.1</version>
              </dependency>
        
      • spring-mybatis.xml 配置

          	<!-- mybatis配置 -->
          	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
          		<property name="typeAliasesPackage" value="com.suye.**.entity" />
          		<property name="mapperLocations" value="classpath*:com/**/mapper/*.xml" />
          		<property name="dataSource" ref="dataSource" />
          		<property name="configLocation" value="classpath:config/mybatis-config.xml" />
          		<property name="plugins">
          			<array>
          				<bean class="com.github.pagehelper.PageHelper">
          					<property name="properties">
          						<value>
          							dialect=mysql
          							reasonable=true
          						</value>
          					</property>
          				</bean>
          			</array>
          		</property>
          	</bean>
          	<!-- 加载mapper -->
          	<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
          		<property name="basePackage" value="com.suye.**.mapper" />
          	</bean>
        
      • mybatis-config.xml 配置

          <plugins>
              <!--com.github.pagehelper为PageHelper类所在包名 -->
              <plugin interceptor="com.github.pagehelper.PageHelper">
                  <property name="dialect" value="mysql"/>
                  <!-- 该参数默认为false -->
                  <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
                  <!-- 和startPage中的pageNum效果一样-->
                  <property name="offsetAsPageNum" value="true"/>
                  <!-- 该参数默认为false -->
                  <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
                  <property name="rowBoundsWithCount" value="true"/>
                  <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
                  <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
                  <property name="pageSizeZero" value="true"/>
                  <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
                  <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
                  <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
                  <property name="reasonable" value="false"/>
                  <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
                  <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
                  <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
                  <!-- 不理解该含义的前提下,不要随便复制该配置 -->
                  <property name="params" value="pageNum=start;pageSize=limit;"/>
                  <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
                  <property name="returnPageInfo" value="check"/>
              </plugin>
          </plugins>
        
      • java 代码

          	PageHelper.startPage(dto.getPageNo(), dto.getPageSize());
              dto.setClassIds(classIds);
              List<OrderInfoResVo> list = orderMapper.queryDeliverTaskList(dto);
              PageInfo<OrderInfoResVo> page = new PageInfo<OrderInfoResVo>(list);
              return page;
  • 相关阅读:
    Selenium IDE安装及环境搭建教程
    菜鸟学自动化测试(一)----selenium IDE
    seleniumIDE回放找不到页面元素
    selenium报错汇总
    利用saltstack初始化OpenStack服务器环境
    工作机会
    使用state模块部署lamp架构
    tar命令
    svn备份
    MAC电脑密码破解
  • 原文地址:https://www.cnblogs.com/cuiyf/p/10837255.html
Copyright © 2011-2022 走看看