其他分享
首页 > 其他分享> > Spring:IOC之三

Spring:IOC之三

作者:互联网

通过在扫描组件中配置use-default-filters=false可以关闭默认的全类扫描,并进行配置自定义的扫描

<context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/>
<!--关闭默认扫描,只扫描指定路劲下,注解为Component的类-->
<!--
include:包含
exclude:不包含
-->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Component"/>
<!--扫描指定路径下,不包含注解为Component的类-->

基于注解方式实现属性注入

  1. @Autowred:根据属性类型就行自动装配注入。
  2. @Qualifier:根据属性名称进行注入。
  3. @Resource:可以根据类型注入,也可以根据名称注入。
//第一步,创建被注入的和注入的类的对象
@Component
public class Company {}
@Component()
public class User {}
//第二步 在Company中注入User对象,在Company中添加User对象作为属性,在属性上使用注解。
@Autowired
private User user;

根据类型注入,可能存在有多个对象的情况而导致报错,所以@Autowired可以和@Qualifier一起用

//User1和User2都实现了UserInterface接口
@Component()
public class User1 implements UserInterface{}
@Component()
public class User2 implements UserInterface{}
//在Company类中注入User时,如不使用@Qualifier则会报错。
//Could not autowire. There is more than one bean of 'UserInterface' type.
//解决方法是正在@Autowired下面加上@Qualifier并指明注入哪一个对象。

完全注解开发


AOP面向切面(方面)编程

AOP:Aspect Oriented Programming

利用AOP可以对业务业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重复性,同时提高了开发的效率

即,不通过修改源代码的方式,添加新的功能。

标签:Company,Qualifier,Spring,之三,public,User,IOC,class,注入
来源: https://www.cnblogs.com/Boerk/p/15803439.html