美丽涵涵童装店--说我博客名字,给你们打折!
随笔 - 82  文章 - 266  trackbacks - 0
<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789


点击这里给杨爱友发消息
美丽涵涵童装店
说我博客名字,给你们打折!

常用链接

留言簿(6)

随笔分类

随笔档案

文章档案

好友的BLOG

搜索

  •  

最新评论

阅读排行榜

评论排行榜


一、spring
1.ContextLoaderListener
   它作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。ContextLoader创建的是 XmlWebApplicationContext这样一个类,它实现的接口是WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->BeanFactory这样一来spring中的所有bean都由这个类来创建。如果在web.xml中不写任何参数配置信息,默认的路径是"/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:spring/*.xml</param-value>
 </context-param>
2.default-autowire
      在spring容器内拼凑bean叫作装配。装配bean的时候,你是在告诉容器,需要哪些bean,以及容器如何使用依赖注入将它们配合在一起。而default-autowire设置了bean的默认装配方式。
我们常常使用<ref>标签为JavaBean注入它依赖的对象。但是对于一个大型的系统,这个操作将会耗费我们大量的资源,我们不得不花费大量的时间和精力用于创建和维护系统中的<ref>标签。我们可以通过指定autowire来让容器为受管JavaBean自动注入依赖对象。
byName:通过属性的名字的方式查找JavaBean依赖的对象并为其注入。比如说类UserAction有个属性userService,Spring IoC容器会在配置文件中查找id/name属性为userService的bean,然后使用Seter方法为其注入。
注意:在配置bean时,<bean>标签中Autowire属性的优先级比其上级标签<beans/>高,即是说,如果在上级标签中定义default-autowire属性为byName,而在<bean>中定义为byType时,Spring IoC容器会优先使用<bean>标签的配置。
3.default-lazy-init
  加载spring bean时,默认采用的延迟策略。
二、Hibernate
1.load和get
  a.如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个  ObjectNotFoundException。
  b.Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
  c.load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
2.对象的三种状态
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。
  瞬时态:
由new命令开辟内存空间的java对象,
    如:Person person = new Person("xxx", "xx");
瞬时对象在内存孤立存在,不和数据库的数据有任何关联关系,在Hibernate中,可通过session的save()或saveOrUpdate()方法将瞬时对象与数据库相关联,并将数据对应的插入数据库中,此时该瞬时对象转变成持久化对象。

持久态:
     处于该状态的对象在数据库中具有对应的记录,并拥有一个持久化标识。如果是用hibernate的delete()方法,对应的持久对象就变成瞬时对象。

       当一个session执行close()或clear()、evict(po)之后,持久对象变成脱管对象,此时持久对象会变成脱管对象,此时该对象虽然具有数据库识别值,但它已不在HIbernate持久层的管理之下。

       持久对象具有如下特点:

       1. 和session实例关联;

       2. 在数据库中有与之关联的记录。

脱管态:
   当与某持久对象关联的session被关闭后,该持久对象转变为脱管对象。
       1. 本质上与瞬时对象相同,在没有任何变量引用它时,JVM会在适当的时候将它回收;

       2. 比瞬时对象多了一个数据库记录标识值。
2.名词解释
 a.persist把一个瞬态的实例持久化,但是并"不保证"标识符(identifier主键对应的属性)被立刻填入到持久化实例中,标识符的填入可能被推迟到flush的时候。
 b.clear完整的清除session缓存
 c.evcit(obj)把某个持久化对象从session的缓存中清空。
 d.persist只能持久化一个瞬时态的对象,
三、java
1.格式化日期
  SimpleDateFormat format = new SimpleDateFormat("yyyy年M月d日");
  format.format(date);
  用一个M、d则到月份日期为10一下时,只显示一位,避免出现01月02日的情况。
  年可以用四位也可以用二位。
2.JDBC操作
  a.连接数据库:
    Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
    Connection conn = DriverManager.getConnection(url, userName, password);
    Statement stmt = conn .getStatement();
    ResultSet rs = stmt.executeQuery(sql);
    while(rs.next()){
 System.out.println(rs.getInt("userId"));
 System.out.println(rs.getString("userName"));
    }

 


 

posted on 2009-04-03 13:14 杨爱友 阅读(260) 评论(0)  编辑  收藏 所属分类: java相关技术

只有注册用户登录后才能发表评论。


网站导航:
 
美丽涵涵童装店
亲,说我博客名字,给你们打折!