收藏 分销(赏)

SpringIOC.doc

上传人:精*** 文档编号:2669099 上传时间:2024-06-04 格式:DOC 页数:5 大小:187.25KB 下载积分:6 金币
下载 相关 举报
SpringIOC.doc_第1页
第1页 / 共5页
SpringIOC.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
Spring IOC 基于XML方式配置bean 1.配置javaBean 1.1基本配置: 一个<bean> 通常需要定义id和class属性,class属性肯定是必须的,如果配置文件中配置的其他的bean中引用了该bean,则id属性是必须的。Bean则通过id属性相互访问,例如: <bean id=”exampleBean” class=”examples.ExampleBean”></bean> 上述代码等同于Java代码: ExampleBean exampleBean = new ExampleBean(); 其中,对象名exampleBean相当于配置中的id属性. <bean id=”…” class=”…”> <property name=”…” vaue=”…”/><!—定义Property属性--> <property name=”…”ref=”…”/> </bean> <peoperty/>表示将使用name属性对应的setter方法设置该属性 1.2 工厂模式factory-method 如果一个bean不能通过new直接实例化,而是通过工厂类的某个方法创建的,需要把<bean>的class属性配置为工厂类(或者把factory-bean属性配置为工厂类对象), Factory-method属性配置为生产实例的方法: <!—等同于exampleBean=examples.MyFactoryBean.createInstance();--> <bean id=”exampleBean” class=”examples.MyFactoryBean” factory-method=”createInstance”/> 1.3构造函数<constructor=arg> 如果javabean的构造函数带有参数,需要指定构造函数的参数。<constructor-arg/>指定构造函数的参数所用的bean或者值。多个参数时,用多个<constructor-arg/>配置即可。例如: <bean id=”exampleBean” class=”exampeles.ExampleBean”> <constructor-arg><ref bean=”anotherexampleBean”/></constructor-arg> <constructor-arg ref =”anotherexampleBean”/> <constructor-arg value=”1”/> </bean> 每个<constructor-arg>配置一个参数,参数有先后顺序,顺序要与构造函数相同。 基于注解方式配置bean 属性自动装配autowire 可以通过<bean>的autowire属性设置自己的装配规则。使用autowire后,不需要再用<property name=”” value=””/>显示的设置该bean的属性,依赖关系。Spring会根据反射,自己寻找符合条件的属性,设置到该bean属性上。如果autowire设置为byType,将会按照属性的类型自动匹配,例如: <bean id=”d” class=”example.D” autowire=”byType”/> @Autowired 起作用必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。 @注解配置: 使用 JSR-250 的注释 Spring 不但支持自己定义的 @Autowired 的注释,还支持几个由 JSR-250 规范定义的注释,它们分别是 @Resource、@PostConstruct 以及 @PreDestroy。 @Resouce的作用相当于@Autowired,只不过@Autowire默认按byType自动注入,而@Resource默认按ByName自动注入。 @Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将 @Resource 注释的 name 属性解析为 Bean 的名字,而 type 属性则解析为 Bean 的类型。 使用注解方式,在.xml文件里加一句<context:annotation-config/>。 开启注解 使用 @Component 从 XML 配置文件中完全移除 Bean 定义的配置,@Component 注释就可以达到这个目标了。 在使用 @Component 注释后,Spring 容器必须启用类扫描机制以启用注释驱动 Bean 定义和注释驱动 Bean 自动注入的策略。 <context:component-scan/> 的 base-package 属性指定了需要扫描的类包,类包及其递归子包中所有的类都会被处理。 AOP AOP的一些重要概念: 包括切面(Aspact)、连接点(Joinpoint)、通知(Advice)、切入点(Pointcut)、引用(Introduction)等。 Aspect(切面):pointcut和advice结合起来就是aspact,它类似于OOP中定义的一个类,单是他代表的更多是对象间横向的关系。 Joinpoint(连接点):是程序执行中的一个精确执行点,例如类中的一个方法。他是一个抽象的概念。在实现AOP时,并不需要去定义一个joinpoint。 Advice(通知):是pointcut的执行代码,是执行“方面”的具体逻辑。 Introduce(引入):为对象引入附加的方法或者属性,从而达到修改对象结构的目的。有的AOP工具又称为mixin
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服