spring中Ioc的Annotation写法(@Component)

 利用@Component注解来写spring注入的时候,可以不需要在bean.xml中定义bean标签而通过这一注解就可以实现注入,但是需要在bean.xml中增添一个声明(绿色字体):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config />
<!-- 用component配置可以省去写bean配置,这样在程序运行时会找到有关的component注解进行注入 -->
<context:component-scan base-package="com.david"/>
</beans>

其中的base-package就是要告诉容器去com.david(自己可以定义)下所有包中的所有类中寻找写了@Component注解的类。

我们在测试的时候如果这么写

public void testAdd() throws Exception {
  BeanFactory beanFactory = new ClassPathXmlApplicationContext("bean.xml");
  UserService s = (UserService) beanFactory.getBean("userService");
  User u = (User) beanFactory.getBean("u");

  s.add(u);
 }

那么容器就会去寻找命名为“userService”和“u”的组件,为了满足这种要求我们需要在相关类中这样写注解:

@Component("u")
public class User {....}

@Component("userService")
public class UserService {....}

找到之后就可以通过容器产生所需要的对象了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值