2017年9月份知识点记录总结

来源:互联网 发布:栗山千明知乎 编辑:程序博客网 时间:2024/05/17 23:11

9.5:网站推荐

java项目源码分享网:http://java.goodym.cn/html/1504276773138.html


素材火:http://www.sucaihuo.com/video/77.html


mybatis学习网站: http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html


java知识分享网: http://www.java1234.com/a/kaiyuan/javaWeb/2015/0405/3980.html


wepApp快速开发:http://www.apicloud.com/index?uzchannel=27


githubPage: https://pages.github.com/




9.21spring-mybatis分析:

<bean class ="org.mybatis.spring.mapper.MapperScannerConfigurer" >
<property name ="basePackage" value ="org.qyh.dao" />
<property name ="markerInterface" value ="org.qyh.core.IBaseDao" />
</bean > 
扫描继承了IBaseDao的dao接口,并生成dao接口的实现类.并且获得接口路径也即获得命名空间并把命名空间给sqlSessionTemplate



<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>


sqlSessionTemplate内部引用了sqlSessionFactory,sqlSessionFactory会为其方法生成一个sqlSession,并且通过namespase指向具体的mapper.xml文件



<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 当mapper.xml和mapper.java在一个包下则不需要配置该属性 -->
<!-- <property name="mapperLocations" value="classpath*:com/sk/**/*Mapper.xml" 
/> -->
<property name="mapperLocations">
<list>
<!-- 每一个都配置 -->
<!-- <value>classpath*:/mapper/StudentMapper.xml</value>
<value>classpath*:/mapper/TeacherMapper.xml</value>
<value>classpath*:/mapper/MyClassMapper.xml</value> -->
<!--或者通配  -->
<value>classpath*:/mapping/*Mapper.xml</value>
</list>
</property>
sqlSessionFactory内部引用了dataSource,并且扫描解析了所有的mapper.xml文件




<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${db.driverClassName}" />
<property name="url" value="${db.driverUrl}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="initialSize" value="${db.initialSize}" />
<property name="maxActive" value="${db.maxActive}" />
<property name="maxIdle" value="${db.maxIdle}" />
<property name="maxWait" value="${db.maxWait}" />
<property name="removeAbandoned" value="${db.removeAbandoned}" />
</bean>
通过db.propers文件中的值配置数据源



<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list> 
<value>classpath:config/log4j.properties</value> 
<value>classpath:config/db.properties</value> 
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
加载配置文件log4j.properties和db.properties


dao层方法执行流程:首先会将自动生成的dao接口的实现类注入到dao接口,当调用dao层方法时,实际是调用的sqlSessionTemplate的方法,最终通过namespace找到确切的
mapper.xml映射文件,并最终执行mapper.xml中的sql语句,执行结果经过sqlSessionTemplate的方法的进一步封装后返回.


9.24@Configration@Conponent

Component 用于将所标注的类加载到 Spring 环境中,需要搭配 component-scan 使用
Configuration 是 Spring 3.X 后提供的注解,用于取代 XML 来配置 Spring, 如下:


 @Configuration
 @PropertySource("classpath:/com/acme/app.properties")
public class AppConfig {
 
    @Inject Environment env;


   
  @Bean
    
 public MyBean myBean() {
     
    return new MyBean(env.getProperty("bean.name"));
  
   }
 
}









字符串比较equal与==的区别{}


Teacher result = teacherService.queryByNum(request.getParameter("userNum"));
String parameter = request.getParameter("userPassword");
logger.setLevel(Level.WARN);
logger.info("============"+parameter+"==========================");
String password = result.getPassword();
boolean bl=(password==parameter?true:false);
返回值为false,==为地址比较.equal()为值比较



9.29Model封装数据的范围request范围

Model封装数据的范围request范围,只有请求转发才能获取

工厂模式:能够降低耦合,当类实例生成方式变化时(调用的构造方法改变)便于修改


9.30springmvc与ajax实现局部刷新踩的坑


/* $(document).ready(function(){  */
$('#myCarousel').carousel(
{interval: 5000}
);

$('#myCarousel').carousel('cycle');



function ajaxTest(i){ 
 $.ajax({ 
 
 url:"artical",
     data:JSON.stringify({"id":i}), 
/*  data:{"id":i}, */
 type:"POST", 
 dataType:'json', 
 contentType:"application/json", 
 

 error:function(XMLHttpRequest, textStatus, errorThrown){
 alert(XMLHttpRequest.status);
             alert(XMLHttpRequest.readyState);
             alert(textStatus);
 },
 success:function(data, textStatus){ 
 /*返回的是json对象  */
/*  data=$.parseJSON(data);  */
$("#p_text").html(data["result_artical"]);  
/*  $("#p_text").html(JSON.Stringify(result));  */
 } 
 }); 
}


  /* }  */






1. 不能在javascript脚本中加/* $(document).ready(function(){  */




2<li><a onclick="ajaxTest(0)" href="#">最新通知</a></li> href属性只能是href="#"不能是href=""



原创粉丝点击