开发SSH应用的笔记

开发环境:Struts1.2 Spring2.0 Hibernate3.2

 

1、在web.xml中加载Spring的配置文件


2、配置属性文件


3、依赖注入配置

注:对beans的设置
<beans default-autowire="byName" default-lazy-init="true">...</beans>

4、Spring怎样注入Class<T>(泛型类型对象)?
在事务配置时,将proxy-target-class设置为false即可。不能为true,因为要针对接口代理。
如:<aop:config proxy-target-class="false">

5、Spring中采用构造方法注入注意要点:
在配置文件中显式书写注入的参数。如:

多个参数的构造函数示例

6、Spring 2.0 结合AspectJ pointcut语法配置AOP详解
Spring参考文档 7.3 chema-based AOP support 提供了aspect,advisor,advide三种组装方法的解释,其中aspect是aspectJ原装,但稍复杂。


以上几句定义使用cglib创建Proxy, 为BookManager的save()和remove()加上lowStockBookFlushingAdvice,为 BookStockChecker.getLowStockBooks加上lowStockBookCachingAdvice.

execution(* *..BookManager.save(..))
第一颗* 代表ret-type-pattern 返回值可任意,
*..BookManager 代表任意Pacakge里的BookManager类。
如果写成com.xyz.service.* 则代表com.xyz.service下的任意类
com.xyz.service..* com.xyz.service则代表com.xyz.service及其子package下的任意类
save代表save方法,也可以写save* 代表saveBook()等方法
(..) 匹配0个参数或者多个参数的,任意类型
(x,..) 第一个参数的类型必须是X
(x,*,*,s,..) 匹配至少4个参数,第一个参数必须是x类型,第二个和第三个参数可以任意,第四个必须是s类型。

7、事务配置的不同形式
事务配置一:

事务配置二:

事务配置三:(在java文件中配置)
需要单独配置事务的类名前配置事务开启
@Transactional(propagation = Propagation.SUPPORTS)
需要使用事务的方法前配置开启事务的信息
@Transactional(propagation = Propagation.REQUIRED)

例如:


8、spring中bean的作用域详解
参考:http://doc.javanb.com/spring-framework-reference-zh-2-0-5/ch03s04.html


9、 WEB-INF/lib/下asm.jar和asm-2.2.3.jar冲突,应该删除asm-2.2.3.jar。


10、 如果某个Action需要处理<html:cancel/>

if (isCancelled(request)){
            
return  mapping.findForward( " fail " );
            
        }

需要在struts-config.xml中添加第8行

 1    < action
 2         attribute ="loginForm"
 3        input ="/login.jsp"
 4        name ="loginForm"
 5        path ="/login"
 6        scope ="request"
 7        type ="org.springframework.web.struts.DelegatingActionProxy" >
 8         < set-property  property ="cancellable"  value ="true" />
 9         < forward  name ="success"  path ="/index.jsp"   />
10       </ action >

11、 为了查看错误信息,需要在src目录下添加文件log4j.properties

log4j.rootLogger=WARN,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%t%p[%c]-%m%n

12、 关于事务代理(在applicationContext.xml中配置)
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false" />只可代理接口(缺省);而<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>则可以代理类。
13、 如果出现java.lang.OutOfMemoryError: PermGen space的提示信息,说明服务器内存不足,需要重启服务器。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值