- 浏览: 12974 次
- 性别:
- 来自: 上海
最新评论
文章列表
对象的初始化顺序的主要原则
- 博客分类:
- Java SE积累
对象的初始化顺序的主要原则:
首先执行父类静态(方法,下同)的内容;
父类静态的内容执行完毕后,接着去执行子类的静态的内容;
当子类的静态内容执行完毕之后,再去看父类有没有非静态代码块,如果有就执行父类的非静态代码块;
父类的非静态代码块执行完毕,接着执行父类的构造方法;
父类的构造方法执行完毕之后,它接着去看子类有没有非静态代码块,如果有就执行子类的非静态代码块。
子类的非静态代码块执行完毕再去执行子类的构造方法。
总结:静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。
五、Spring中注解的使用
- 博客分类:
- Spring
1. Bean的作用域也可利用注解的方式进行限定:
如:@Scope(“prototype”),将其写定义类的前面
其功能类似于标签中的<bean id=”” class=”” scope=” prototype”/>
2. 通过注解还可为bean提供初始化方法以及销毁方法:
在方法前加上:@PostConstruct,则在实例化类时将执行该方法,类似于标签中的<bean init-method=”…”>配置。
在方法前加上@PreDestroy,则在类实例销毁之前执行该方法,类似于<bean destroy-method=”…”/>标签配置。
3 ...
1. 配置struts框架
l 拷贝struts的jar包到项目/WEB-INF/lib中
l 拷贝struts-config.xml,web.xml配置文件到/WEB-INF中
l 拷贝资源文件到类路径下/WEB-INF/classes
l 拷贝mysql驱动包
l JSTL配置包
2. 集成spring框架
1. 拷贝spring.jar到项目 ...
1.
Spring编程式事务管理
I、
getCurrentSession()与openSession()的区别
l 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会(每open一次就打开一个)
l 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()创建的session必须手动关闭
II、 使用getCurrentSession()需要在hibernate.cfg.xml ...
- 2012-09-08 21:26
- 浏览 582
- 评论(0)
1. 动态代理
动态代理类需要实现InvocationHandler接口并重写其中的invoke()方法
实例如下:
实例其功能是在调用执行目标对象的方法之前调用执行checkSecurity方法
publicclass SecurityHandler
implements InvocationHandler {
private Object
targetObject;
public Object newProxy(Object
targetObject) {
this.targetObject =
targetObject;
return Pro ...
- 2012-09-08 21:23
- 浏览 809
- 评论(0)
1.
Bean 工厂(BeanFactory)的功能和配置
I、
ClassPathResource
l 在类路径下查找资源
l 另有 FileSystemResource
II、
XmlBeanFactory
l 读取 xml
文件中的配置信息
l 生产bean
l 解决bean
依赖
2.
Bean 的创建
spring可调用bean的构造方法,或通过工厂方法生产 bean对象
I、 利用 bean
的构造方法创建bean
l 无参的构造方法(通过set方法设置,一定要有set方法)
- 2012-09-08 21:20
- 浏览 754
- 评论(0)
1.
实用于B/S和C/S,使用资源小
2.
对象间的关系松,高内聚,低耦合
IOC --- Inverse of control
l 使得业务组件都处在框架的管理之下
l 框架可以管理组件的创建和依赖关系
l 框架可以提供可以配置的服务
3.
通过AOP技术将业务与非业务分离
AOP --- Aspect Oreinted Programming
在不修改组件的前提下,为组件提供扩展的服务
4.
Spring容器管理整个JavaBean生命周期
简化对java ee技术的使用
5. 与Hibernate、Struts一样是个框架
(类集合
- 2012-09-08 21:16
- 浏览 697
- 评论(0)
1、
对象的状态
<1>瞬时对象是new出来的,与Session和数据库都无关;
<2>持久对象是放入Session中,与Session有关的,Hibernate可以检测到,更新对象的值,可以影响到数据库中的值;
<3>脱管对象是在存入数据库,session关闭的时候由持久对象变换过来的,因此它只与数据库有关,因此Hibernate检测不到,数据库要更新需要更新语句update。
<4>Hibernate只能检测到Session中的对象变化情况。
<5>当不知道对象是瞬时的还是脱管的,如果要保存或更新数据库中的值,这个 ...
- 2012-09-08 20:32
- 浏览 657
- 评论(0)
1、
Hibernate核心接口
Session、Transaction、Query、SessionFactory、Configuration
2、
Session概述:
l Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间。
l Session也称为持久化管理器,因为它是与持久化有关的操作接口。
l Session通过SessionFactory打开,在所有的工作完成后,需要关闭。
l 它与Web层的HttpSession没有任何关系。
3、
SessionF ...
- 2012-09-08 20:12
- 浏览 576
- 评论(0)
1、
Hibernate的开发流程
<1>、由Domain objectàmappingàdb。(官方推荐)
<2>、由DB开始,用工具生成mapping和 Domain object。(使用很多)
<3>、由映射文件开始。
2、
Domain Object限制
<1>、默认的构造方法(必须的)。
<2>、有无意义的标示符id(主键)(可选)。
<3>、非final的,对懒加载有影响(可选)。
例如:
publicclass
- 2012-09-08 20:05
- 浏览 377
- 评论(0)
Spring2.0.1以后的版本已经支持配置多数据源,并且可以在运行的时候动态加载不同的数据源。通过继承AbstractRoutingDataSource就可以实现多数据源的动态转换。目前做的项目就是需要访问12个数据源,每个数据源的表结构都是相同的 ...
- 2012-08-28 11:34
- 浏览 393
- 评论(0)
1、使用Spring自带的DriverManagerDataSource
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<proper ...
- 2012-08-28 11:12
- 浏览 503
- 评论(0)
我们常常用到拦截器、过虑器等等模式,但是我很少知道,其内部是怎么实现的,不了解其原理。下面就此总结Filter的责任链模式:
第一步,新建一个Filter接口:
package cn.sunline.suncard.dp;
/**
* 责任链接口
* @author tpf
* @version 1.0 2012-4-26
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public interface Filter {
public void doFilter(Request req, Response r ...
- 2012-04-26 10:33
- 浏览 1161
- 评论(0)
【IT168技术文档】 设计模式是面向对象编程的热门话题之一,越来越多的开发人员认识到设计模式的重要性。采用各种语言实现设计模式的文章也越来越多,但是很多开发人员发现很难将设计模式与实际开发中需要解决的具体问 ...
- 2012-04-25 16:09
- 浏览 612
- 评论(0)
1 类的职责单一原则
2 开放封闭原则
对于扩展是开放的,对于更改是封闭的.
3依赖倒置原则
抽象不应该依赖于细节,细节应该依赖于抽象.就是针对接口编程.
4 代替原则
就是说凡是有父类的地方,都可以用子类去代替之,典型
Animal a=new Cat();
- 2012-04-25 10:28
- 浏览 579
- 评论(0)