spring 注解简述

248 阅读1分钟

注意:

  • Spring 4.0后,要使用注解开发,必须保证aop的包导入了。
  • 使用注解需要导入context约束,增加注解支持,javaConfig除外。

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
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">
    <!--    指定扫描的包,这个包下的注解就会生效-->
    <context:component-scan base-package="org.example.pojo"/>
    <context:annotation-config></context:annotation-config>
</beans>

注解

  • @Resource:自动装配默认通过名字然后是类型
  • @Autowired:自动装配默认通过类型然后是名字
  • @Qualifier(value="beanId"):当@Autowired不能唯一自动装配上属性时使用
  • @Nullable:字段标记了这个注解,说明这个字段可以为null
  • @Component:组件,放在类上,说明这个类被Spring管理了,就是bean
  • @Scope:作用域,单例模式——@Scope("singleton")、原型模式——@Scope("prototype")
  • @Value:属性值的注入,例如@Value("值")
  • @Configuration:代表这是一个配置类,就和xml配置文件的作用是一样的。这个类也会被Spring容器托管,注册到容器中,因为他本来就是一个@Component
  • @Bean:注册一个bean就相当于xml配置文件中的bean标签。注解所标注的方法名就相当于bean标签的id,方法的返回值就相当于bean标签的class属性

衍生注解

  • @Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层!实际的作用与@Component一致
    • dao ------------->@Repository
    • service---------->@Serice
    • controller------->@Controller