- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
web高级编程实验4
南昌航空大学实验报告
2016 年 5月 1 日
课程名称:Spring 实验名称:AOP
学号: 姓名: 刘英庭 同组人:
指导教师评定: 签名:
实验目的
掌握Spring Bean的自动装配;
掌握Spring Bean的注解装配;
掌握Spring AOP的配置与使用;
理解Spring AOP中Advice、Joinpoint、Pointcut、Aspect、Introduction等基本概念。
实验要求
根据实验步骤中提出的要求,使用Eclipse编写相应的Java程序;
根据实验步骤中提出的要求,使用Eclipse编译、运行自己所编写的Java程序;
根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果;
记录实验中遇到的各类问题并以及解决办法。
实验步骤
自动装配
创建Performer(表演者)接口与Song(歌曲)类;
//Performer接口
package lab2;
public interface Performer {
void perform();
}
//Song类
package lab2;
public class Song {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
}
编写一个Singer(歌手)类实现Performer接口,其部分代码如下,请根据给出的代码将其补全;
//Singer类部分代码
@Override
public void perform() {
System.out.println(歌手+name+唱了一首名为《+song.getName()+》的歌);
}?xml version=1.0 encoding=UTF-8?
beans xmlns=/schema/beans
xmlns:p=/schema/p
xmlns:xsi=/2001/XMLSchema-instance
xsi:schemaLocation=/schema/beans /schema/beans/spring-beans-3.0.xsd
bean id=carpenters class=lab2.Singer autowire=byName
constructor-arg value=Karen Carpenters/
/bean
bean id= class=lab2.Song
property name=name value=Yesterday Once More/
/bean
/beans
上面的配置文件采用了“byName”的自动配置方式,那么还有什么配置方式?这两种配置方式有什么区别?
混合使用手动和自动组装
bean id=bar class=...Bar autowire=byName
property name=cousedao
ref bean=somebean: /
/property
/bean
模式 说明 no ? ? ? ? ? ?? ? byName ? 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为by name,而该bean包含master属性(同时提供setMaster(..)方法),spring就会查找名为master的bean定义,并用它来装配给master属性。 byType 如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check=objects让Spring抛出异常。 constructor 与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。 autodetect 通过bean类
文档评论(0)