学习总结

    xiaoxiao2025-06-08  20

    spring中IOC的常用注解

    1.常用注解分类

    1.用于创建对象的注解 他们的作用就和在XML配置文件中编写一个<bean>标签实现的功能是一样的 2.用于数据注入的注解 他们的作用就和在xml配置文件中的bean标签中写一个<property>标签的作用是一样的 3.关于对象作用域的注解 他们的作用就和在bean标签中使用scope属性实现的功能是一样的 4.关于对象生命周期的注解 他们的作用就和在bean标签中使用init-method和destroy-method的作用是一样的

    用于创建对象的注解

    @Component

    作用:用于把当前类加载到spring容器中 ​ 属性:value,用来指定bean的id,不写时,默认为类名,首字母改小写

    由@Component衍生来的作用相同的注解:

    @Controller:用来标记表现层 ​ @Service:用来标记业务层 ​ @Repository:用来标记持久层 ​ 他们的作用及属性都是与@Component一模一样的,提供了更加明确的语义化。

    3.用于注入数据的注解

    @Autowired

    自动按照类型注入,当容器中只有唯一一个对象时才能注入成功;当使用该注解时,就不需要set方法了 ​ 注意:当容器中有多个对象时,可以通过名称区别自动注入。如   @Autowired   private IAccountDao accountDao1;

    @Qualifier

    与@Autowired注解同时使用,当有多个实现类对象时,可以用该注解指定id来注入 该注解也可以单独用在方法参数上

    @Resource

    直接按照bean的id注入,可以单独使用,不能在方法参数上使用 ​ 注意:jdk9不能使用该注解

    @Value

    作用:用于注入基本类型和String类型的数据 属性: value:用于指定数据的值。它可以使用spring中SpEL(也就是spring的el表达式) SpEL的写法:${表达式}

    4.关于对象作用域的注解

    @Scope

    与xml中的scope属性一样,用来改变对象的作用域 ​ 值:singleton、prototype、request、session、global-session

    5.关于对象生命周期的注解(了解)

    他们的作用就和在bean标签中使用init-method和destroy-method的作用是一样的

    @PostConstruct

    指定初始化时的方法

    @PreDestroy

    指定销毁时的方法

     

    最新回复(0)