发表于: 2017-10-17 23:34:39

1 803



今天完成的事情:

1. 重构代码(3.9)

2. 修正了不正确代码

3. 加深认识了spring标签注解

4. 整理spring.xml的配置文件

5. 配置了mamcache的配置文件



明天计划的事情

明天请假回学校拿被子,处理杂事。


遇到的问题:

1.事务管理器和mybatis有关联???

<tx:annotation-driven transaction-manager="transactionManager" />

mybatis的配置

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">

    。。。。。。。
</bean>

<bean id="transactionManager"
     class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource" />
</bean>

红字和红字有关系理解,不理解的是黄字之间有有什么关系???


收获:

1. 重构代码(3.9)

还差一些工具类和controller


2. 修正了不正确代码

发现前面的一些类的引用日志的声明类都是别的  例如:

public class MyTask extends TimerTask {
private static Logger loggerMT = Logger.getLogger(SessionListener.class);

修正之~~


拦截器的类

public class LoginInterceptor extends HandlerInterceptorAdapter 

原为:

public class LoginInterceptor implements HandlerInterceptor

extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法

implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 

来自:extends和implements区别


拦截器的类应为继承后重写。



3. 加深认识了spring标签注解

在代码里发现了很多冗余例如:

扫描组件和注解代码

<context:component-scan base-package="task.jnshu"/>

这两个东西如果只是要@controller的注解就两个都可以,要用@Component(组件),@Service(服务),@Controller(控制器),@Repository(数据仓库)这些注解就要用上面的,推荐用上面的那个。


<!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->

<context:component-scan base-package="task.jnshu">
   <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>


两种引用配置文件的方式

获取properties配置文件的获取方法两个
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="order" value="1"/>
    <property name="ignoreUnresolvablePlaceholders" value="true"/>
    <property name="locations">
        <list>
            <!--<value>classpath:/com/springmvc/config/memcached.properties</value>-->
            <value>classpath:memcached.properties</value>
        </list>
    </property>
</bean>
<!--或者-->
<context:property-placeholder location="classpath:memcached.properties" />


推荐用下面的那种

来源:Spring配置文件<context:property-placeholder>标签使用漫谈

        spring中context:property-placeholder/元素



以下两个在web.xml中配置
<!--把applicationContext.xml加入到配置文件中-->
<!--如果不配置这个则文件名必须为:applicationContext.xml-->
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:spring-mybatis.xml</param-value>
</context-param>
<init-param>
  <!--配置spring-mvc.xml作为mvc的配置文件-->
  <!--如果不配置这个则文件名必须为:spring-servlet.xml-->
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/spring-mvc.xml</param-value>
</init-param>
web.xml里至少要两个配置文件,一个是关于视图解析MVC的,一个是管理spring的依赖注入的。

来源:Servlet中init-param与context-param的区别



4. 整理spring.xml的配置文件


初步按照想法结合实际写出,还需验证。


5. 配置了mamcache的配置文件

    <context:property-placeholder order="2" location="classpath:memcached.properties"  ignore-unresolvable="false"/>

   <!-- 作为工厂方法 getInstance() 的参数, 即指明 poolname memcachePool -->
   <!-- Memcached配置 -->
   <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool"
         factory-method="getInstance" init-method="initialize" destroy-method="shutDown">
       <constructor-arg>
           <value>neeaMemcachedPool</value>
       </constructor-arg>

       <property name="servers">

       服务器地址+端口

           <list>
               <value>${memcached.server1}:${memcached.port1}</value>
           </list>

       </property>

       初始化时对每个服务器建立的连接数目

       <property name="initConn">
           <value>${memcached.initConn}</value>

       </property>

       每个服务器建立最小的连接数

       <property name="minConn">
           <value>${memcached.minConn}</value>

       </property>

       每个服务器建立最大的连接数

       <property name="maxConn">
           <value>${memcached.maxConn}</value>

       </property>

       自查线程周期进行工作,其每次休眠时间

       <property name="maintSleep">
           <value>${memcached.maintSleep}</value>

       </property>

       Socket的参数,如果是true在写数据时不缓冲,立即发送出去

       <property name="nagle">
           <value>${memcached.nagle}</value>

       </property>

       Socket阻塞读取数据的超时时间

       <property name="socketTO">
           <value>${memcached.socketTO}</value>
       </property>
   </bean>
   <!-- 在使用 memcachedClient 访问 memchached , 需指明 poolname memcache,指定默认-->
   <bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">
       <constructor-arg>
           <value>neeaMemcachedPool</value>
       </constructor-arg>
   </bean>
</beans>



进度: 

         任务开始时间:10.13

         预计完成时间:10.22

         是否有延期风险:有

        请假一天,向后延一天

禅道:http://task.ptteng.com/zentao/project-task-264.htm


PS:本人请假,有事烧纸!!!





返回列表 返回列表
评论

    分享到