Serializable接口是启用其序列化功能的接口。实现java.io.Serializable 接口的类是可序列化的。没有实现此接口的类将不能使它们的任意状态被序列化或逆序列化。所谓的Serializable,就是java提供的通用数据保存和读取的接口。


有人的理解:
使用 javabean 和不用 javabean 的区别:
一个 javabean 就是为 jsp 页面上的元素一一开辟一个空间,然后根据需要赋值、读值。而如果不用 javabean ,就直接使用 HttpServlet 的 request 对象:
只在 jsp 页面间传递获取数据:
String name=req.getParameter(“name”);
显示数据: out.println(name);
存数据入 DB :在 jsp 中直接嵌入 java 代码,用 insert 语句存入。
javaBean在MVC设计模型中是model,又称模型层,在一般的程序中,我们称它为数据层,就是用来设置数据的属性和一些行为,然后我会提供获取属性和设置属性的get/set方法
1、javabean类必须是public类
2、提供给JSP页面的调用方法必须富裕public访问权限 
3、bean中属性必须给get和set方法 
4、必须由空构造方法
前面看了一大堆理论,感觉没怎么懂,看了一些作用马上就懂了,还是言简意赅的东西舒服......
说白了JavaBean就是将Jsp中的数据提取,设为public,供其他.java调用,不用再去用getpara......获取数据了,减少了代码量,这是我的理解,不知道对还是不对。




Hibernate的温故:
.properties用来配置对应的数据库。
PO(Persistent Object)持久化对象
PO只有在session的管理下才能访问数据库,与数据库同步。
Session由SessionFacory生成,SessionFacory是数据库编译后的内存镜像。
集合映射的元素:
1.list: 用于映射List集合属性。有序集合
2.set: 用于映射set集合属性。
3.map: 用于映射map集合属性。
4.array: 用于映射数组集合属性。


List例:
person类有个集合属性:schools,该属性对应多个学校。而集合属性只能以接口声明,schools的类型只能是List,该集合属性必须使用实现类完成初始化。

public void Person implements Serializable{ 

...... 

private List schools = new ArrayList(); 

public List getSchools(){ 

return schools; 

} 

public void setSchools(){ 

this.schools = schools; 

} 

 //Map集合属性,成绩 

private Map scores = new HashMap(); 

public Map getScores(){ 

return scores; 

} 

public void setScores(Map scores){ 

this.scores = scores; 

} 

 

 }


Hibernate主要的重点应该在如何配置各种属性其他的都挺基础的,完成各种查询P-251
拦截器:通过Interceptor接口,可以在数据进入数据库之前,对数据进行最后的检查,并可以修改其属性。
Hibernate中的拦截器与事件还需要巩固


Spring:
直接耦合:B类调用A类,C类调用B类,A类一旦修改,则BC都要修改;
工厂模式:可将java对象的调用者从被调用者的实际逻辑中分离出来,调用者只需关系被调用者必须满足的规则(接口),而不必关系实例的具体实现过程。
单态模式:限制了类实例的创建,可以保证仅有一个实例,并可提供访问该实例的全局访问点。


注入依赖,也称反转控制(IOC)P-283感觉作者的举例真的说的挺好的,让人很容易理解;
一种解耦方式,指在程序运行过程中,如果需要另一个对象协助时,无需在代码中创建被调用者,而是依赖于外部的注入。
1.设置注入(Setter)

public interface Person{ 

public void useAxe(); 

 } 

 public interface Axe{ 

public void chop(); 

 } 

 public class Chinese implements Person{ 

private Axe axe; 

public Chinese(){ 

 

} 

public void setAxe(Axe axe){ 

this.axe = axe; 

} 

public void useAxe(){ 

syso(axe.chop()); 

} 

 } 

 public class StoneAxe implement Axe{ 

public StoneAxe(){ 



} 

public String chop(){ 

return "......"; 

} 

 }


2.构造柱入
//面向Axe接口编程,而不是具体的实例对象。
private Axe axe;


bean和BeanFactory
bean是spring管理的基本单位