当前位置:文档之家› Spring基本配置及其常用方法

Spring基本配置及其常用方法

搭建spring的环境:
新建User Library:spring,引入spring的核心jar包:
SPRING_HOME\dist\spring.jar spring核心jar包
SPRING_HOME \lib\log4j\log4j-1.2.14.jar 记录日志
SPRING_HOME \lib\jakarta-commons\commons-logging.jar 日志的抽象,日志的抽象,如果没有log4j则会借助commons-logging调用sun的记录日志的工具包,如果没有sun的和log4j的则它会调用自己的
在src目录下建立applicationContext.xml
(可从SPRING_HOME\ samples\jpetstore\war\WEB-INF\目录下拷贝applicationContext.xml)
设置spring的xml标签的自动提示:
Window-->Preferences-->MyEclipse Enterprise Workbench-->Files and Editors-->XML-->XML Catalog-->add-->location中添加Schema文件(SPRING_HOME\dist\resources\spring-beans-2.0.xsd)-->修改Key Type为Schema Location,将key的文件名设为:/schema/beans/spring-beans-2.0.xsd
提供log4j.properties配置文件:
(G:\software_programming\Java\SSH\spring\spring-framework-2.0.8-with-dependencies\sp ring-framework-2.0.8\samples\jpetstore\war\WEB-INF\ log4j.properties)
定义bean标签的格式
<bean id="userDao" class="com..."/>
<bean id="userManager" class="com...">
<constructor-arg ref="userDao"/>
<property name="userDao" ref="usrDao"/>
</bean>
DI方式从BeanFactory中获取对象:
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
//ApplicationContext factory = new ClassPathXmlApplicationContext("applicationContext.xml"); UserManager userManager = (UserManager)factory.getBean("userManager");
定义公共配置为抽象bean:
<bean id="AbstractBean" abstract="true">
<property name="id" value="001"/>
<property name="name" value="Jason"/>
</bean>
其他bean继承抽象bean:
<bean id="bean" class="com.test.Bean" parent="AbstractBean"/>
属性延迟初始化的配置方法:
在beans标签的最后加上:default-lazy-init="true"
AOP相关的支持包:
自定义的User Libraries spring中引入SPRING_HOME\ lib\aspectj下的两个包:aspectjrt.jar,aspectjweaver.jar(使用aspectj的注解支持AOP)
aspect的xml配置:
<aop:config>
<aop:aspect id="securityAspect" ref="securityHandler">
<aop:pointcut id="addAddMethod" expression="execution(*
com.test.*.add*(..)) || execution(* com.test.*.del*(..))"/> <aop:before method="checkSecurity" pointcut-ref="addAddMethod"/> </aop:aspect>
</aop:config>
使用CGLIB代理:
自定义的User Libraries spring中引入SPRING_HOME\ lib\ cglib\ cglib-nodep-2.1_3.jar xml中定义:
<aop:aspectj-autoproxy proxy-target-class="true"/>
将客户端信息传递给Advice的方法:
private void checkSecurity(JoinPoint joinPoint) {
//这里使用joinPoint参数取得客户端调用的方法名和参数值。

}。

相关主题