在使用注解前应该注意先在配置文件中导入需要的bean,还需要开启注解支持,否则就会无法进行使用
1.先导入bean
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" >
2.启用注解
<!--启用注解支持--> <!--<context:annotation-config/>-->
然后就可以愉快的使用注解了
@Autowired: 自动装配类可以自动在实体类中进行装配如果没有配置特殊配置会先进行autowire="byType" 然后在进行 byname的扫描
Autowired里面的required可以设置为空
假如bean里面有多个bean且文件包也有多个则无法进行自动配置,因为找不到所有会报空指针异常java.lang.NullPointerException
如果有多个bean的情况下还想继续使用bean可以通过
@Qualifier(value ="cat111")来指定唯一一个
@Resource(name ="dog11")也可以实现自动装配 先名字类型
扫描你给的这个包下所有的类,看上面有没有注解。扫描到注解,会启动注解配置
<context:component-scan base-package="com.kuang">
@Component 相当于把东西注入到bean 等价于<bean id="user" class="com.kuang.pojo.User"/>
在使用这个前需要扫描一下context下包的注解
@Component 几个衍射类:@Repository @Service @Controller其功能都是一样的
使用注解给属性赋值,等同于
作用域:使用注解配置@scope 可以配置单例,原型
总结:使用注解的好处虽然检查了代码但是维护起来相对复杂,一般来说可以使用xml维护bean,注解就单纯的用来注入属性值