《JAVA开发利器MyEclipse全面详解》学习笔记之Spring及其整合

不完全依赖:
什么时候使用?
bean甲在bean乙之前实例化,但在bean乙中不需使用bean甲,常用于数据库开发,例如注册数据库驱动必须在所有操作之前完成,但在操作中是不会调用驱动的。

延迟初始化bean:
lazy-init=“true”

自动装配:
autowire=”“
default,no,byName,byType,constructor,autodetect(翻译为自动探测,通过自省机制决定constructor或byType)

依赖注入检查:
dependency-check=”“
default
none
simple对基本类型和集合类型
object对其他bean
all

bean的作用域:
scope=”“
singleton缺省
prototype
request
session
global session

方法注入:(比较少用)
什么时候使用?
例如向一个作用域为singleton的bean甲注入作用域为prototype的bean乙,对于bean甲来说,容器只会创建一个bean甲实例,这样,就没法让容器提供不同的bean乙实例
方法注入分两种方式:
lookup方法注入
自定义方法注入

定义bean的生命周期:
init-method=”bean中定义的初始化方法名“
destroy-method=”bean中定义的销毁方法名“

bean的继承:
标记为abstract 的bean是不能被实例化的,所以当调用getBean方法时将发生错误,这种bean 的作用就是让其他bean继承

面向切面编程
两种方式:
配置方式
注解方式:当需要完成一个特定功能时,只需对Java程序完成注解
技巧:普通AOP项目通常用注解方式,与其他框架整合时用配置方式

在ApplicationContext.xml中加入
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://ww.springframework.org/schema/aop/spring-aop-2.5.xsd

面向切面编程的作用:在某一类方法的特定位置,执行相同的功能。
例如,执行数据库时,不管执行什么操作都要执行关闭数据库的操作
示例:
package com.ycx.dao;
public class BookDAOImpl implement BookDAO{
public void addBook(String name,double price){
System.out.println("执行增加图书操作");
}
……
……
}

public class AspectJXML{
public void myAfterMethod(){
System.out.println("数据库操作后,释放数据库资源");
}
}

关键配置:
省略上面两个类的bean配置
<aop:config>
<aop:aspect id="myAspect" ref=""> 声明切面
<aop:pointcut id="allMethod" expression="execution(* com.ycx.dao.*.*(..))"/>
<aop:after pointcut-ref="allMethod" method="myAfterMethod"/>
</aop:aspect>
</aop:config>

使用注解方式开放AOP项目:
在ApplicationContext.xml中加入
<aop:aspectj-autoproxy/>以启动AspectJ组件技术

spring与hibernate整合:

事务管理:
编程式事务管理
声明式事务管理(常用,无需改动源代码,只需修改配置文件)
首先,必须在applicationContext.xml头文件中加入相关配置,xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://ww.springframework.org/schema/aop/spring-aop-2.5.xsd(面向切面编程所需)
xmlns:aop="http://www.springframework.org/schema/tx"
http://www.springframework.org/schema/tx
http://ww.springframework.org/schema/ tx /spring- tx -2.5.xsd(事务管理所需)

关键配置:
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name


通过注解方式进行事务管理:
在DAO程序类名上加@Transaction
在applicationContext.xml文件中加入<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值