欢迎来到天天文库
浏览记录
ID:37713966
大小:59.50 KB
页数:8页
时间:2019-05-29
《web高级编程实验4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南昌航空大学实验报告2016年5月1日课程名称:Spring实验名称:AOP学号:13201510姓名:刘英庭同组人:指导教师评定:签名:一、实验目的1、掌握SpringBean的自动装配;2、掌握SpringBean的注解装配;3、掌握SpringAOP的配置与使用;4、理解SpringAOP中Advice、Joinpoint、Pointcut、Aspect、Introduction等基本概念。二、实验要求1、根据实验步骤中提出的要求,使用Eclipse编写相应的Java程序;2、根据实验步骤中提出的要求,使用Eclipse编译、运行自己所编写的Java程序;3、根据编译与
2、运行过程中所获得的错误信息修改程序直至获得正确的结果;4、记录实验中遇到的各类问题并以及解决办法。三、实验步骤1、自动装配(1)创建Performer(表演者)接口与Song(歌曲)类;//Performer接口packagelab2;publicinterfacePerformer{voidperform();}//Song类packagelab2;publicclassSong{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}
3、}(2)编写一个Singer(歌手)类实现Performer接口,其部分代码如下,请根据给出的代码将其补全;//Singer类部分代码@Overridepublicvoidperform(){System.out.println("歌手"+name+"唱了一首名为《"+song.getName()+"》的歌");}(1)已知该程序所对应的xml配置文件如下所示,请根据该配置文件修改Singer类,并写出对应的主类PerformApp。4、ork.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd">5、autowire="byName">(2)上面的配置文件采用了“byName”的自动配置方式,那么还有什么配置方式?这两种配置方式有什么区别?混合使用手动和自动组装<6、refbean="somebean:/>模式说明no byName 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为byname,而该bean包含master属性(同时提供setMaster(..)方法),spring就会查找名为master的bean定义,并用它来装配给master属性。byType如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用7、byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check="objects"让Spring抛出异常。constructor与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。autodetect通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认
4、ork.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd">5、autowire="byName">(2)上面的配置文件采用了“byName”的自动配置方式,那么还有什么配置方式?这两种配置方式有什么区别?混合使用手动和自动组装<6、refbean="somebean:/>模式说明no byName 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为byname,而该bean包含master属性(同时提供setMaster(..)方法),spring就会查找名为master的bean定义,并用它来装配给master属性。byType如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用7、byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check="objects"让Spring抛出异常。constructor与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。autodetect通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认
5、autowire="byName">(2)上面的配置文件采用了“byName”的自动配置方式,那么还有什么配置方式?这两种配置方式有什么区别?混合使用手动和自动组装<
6、refbean="somebean:/>模式说明no byName 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为byname,而该bean包含master属性(同时提供setMaster(..)方法),spring就会查找名为master的bean定义,并用它来装配给master属性。byType如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用
7、byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check="objects"让Spring抛出异常。constructor与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。autodetect通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认
此文档下载收益归作者所有