SpringIOC——bean的注释装配

前言:装配注释——扫描,是使用注释的一个组合拳。装配注释只是个标识,提示这个是bean组件;需要被扫描发现并被加载到Ioc容器。

装配注释:

  • @Component(value=”beanname“)通用;告诉ioc容器这是一个bean;value是bean的名字,不写默认是首字母小写的类名;子注释@Value(“lyc”)可以放在属性上,给属性赋值;
  • @Controller 用在控制层
  • @Service 用在服务层
  • @Repository 用在dao层,@Mapper是mybatis的注释不是spring的;
    小结:以上注释只能用在类上
  • @Bean 只能用在方法上,把方法的返回值作为bean装配到Ioc容器中
    扫描配置:
  • 用xml方式:
 <context:component-scan base-package="com.lyc.service,com.lyc.controller"/>
  • 用配置类:
//扫描包
@ComponentScan(basePackages = {"com.lyc.p1","com.lyc.p2"})
//扫描类
@ComponentScan(basePackageClasses = {A.class,B.class})
//同时使用
@ComponentScan(basePackages = {"spring.aop.aspects"},basePackageClasses = {MyAspect.class})

自动装配:

  • @Autowired(required=false) 自动注入已经被扫描,并加载到Ioc容器中的bean;require属性表示,没有可以不注入。如果一个类型(eg:接口)有多个实现类,会报错不知道选那个,需要配合使用如下注解。
  • @Primary:和@Component一起用用在需要被注册到Ioc的bean上,告诉Ioc在用@Autowired自动装配时优秀使用自己注入。
  • @Qualifier(“userService”):和@Autowired配合使用,告诉Ioc注入名为"userService"的bean;所以装配注释要放到具体类上,而不是接口上。
    小贴士:@Autowired和@Primary都是按类型注入,@Qualifier是按名称。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值