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管理的基本单位