zoukankan      html  css  js  c++  java
  • ##Sping框架IOC中常用的注解大家一定要记住

    Sping框架IOC中常用的注解


     一,用于创建对象的注解:

    ##1,@Component

      作用:把资源让sping来管理,相当于在xml中配置一个bean

      属性:value:指定bean 的id,如果不指定value属性,默认bean 的id就是当前类的类名,首字母小写。

        ~1,@Contoller  @Service  @Respository

          他们三个注解都是针对一个的衍生注解,他们的作用及属性都是一摸一样的,不过@Contoller针对的是表现层的注解,@Service针对的是业务层的注解,@Respository针对的是持久层的注解

        注意:如果注解中有且只有一个属性要赋值时,且名称是value,value在赋值时可以不写。

    @Component//当我们把一个类当成我们需要的配置,或者工具类的时候可以用到
    public class TransactionManager {
        @Autowired
        private ConnectionUtil connectionUtil;

    二,相当于注入的注解:

    相当于:<property name="" ref="">

    ##1,@Autowired

      作用:自动按照类型注入,当使用注解注入属性时,set方法可以省略,它只能注入其他bean类型,当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在psing容器查找,找到了可以注入,找不到就会报错。

    public class AccountDaoImpl implements AccountDao {
        @Autowired
        QueryRunner queryRunner;
        @Autowired
        ConnectionUtil connectionUtil;

      上面这个是在持久层,我们需要用到queryRunner这个对象,所以可以直接用这个注解,可以自动注入,方便我们使用

    public class AccountServiceImpl implements AccountService {
        @Autowired
        AccountDao accountDao;
        @Autowired
        TransactionManager transactionManager;

      上面这个是业务层,但是需要用到持久层的对象,所以我们可以用这个注解,方便使用

    ##2,@Qualifer

      作用:在自动按照类型注入的基础上,再按照bean的id注入,他在给字段注入时不能独立使用,必须和@Autowired一起使用,但是给方法参数注入时,可以独立使用。

      属性:value指定bean 的id

        @Autowired
        @Qualifier("id")
        QueryRunner queryRunner;

    ##3,@Resource

      作用:直接按照Bean的id注入,他只能注入其他bean类型

      属性:name指定bean 的id

    ##4,@Value

      作用:注入基本数据类型和string'类型的数据

      属性:value用于指定值

    三,相当于作用于范围的注解:

    相当于:<bean id="" class="" scope="">

    ##1,@Scope

      作用:指定bean的作用范围

      属性:value指定范围的值

    四,和生命周期相关的(了解)

    相当于:<bean id="" class="" init-method="" destroy-method="" />

    ##1,@PostConstruct

      作用:用于指定初始方法

    ##2,@PreDestory

      作用:用于指定销毁方法

    五,新注解

    ##1,@Configuration

      作用:用于指定当前类时一个spring配置类,当创建容器时会从该类上加载注解,获取容器时需要使用AnnotationApplicationContext

      属性:value用于指定配置类的字节码

    ##2,@ComponentScan

      作用:用于指定sping再初始化容易时需要扫描的包,作用和spring的xml配置文件中的<context:component-scan base-  package="com.itheima"/>是一样的。

    ##3,@Bean

      作用:该注解只能写在方法上,表明此方法创建一个对象,并且放入spring容器中

      属性:name给当前的@Bean注解方法创建的对象指定一个名称(即bean的id)。

    ##4,@PropertySource

      作用:用于加载.properties文件中的配置,例如我们配置数据源时,可以把连接数据库的信息写到properties配置文件中,就可以使用此注解指定properties配置文件的位置。

      属性:value[] 用于指定properties文件位置,如果是在类路径下,需要协商classpath;

    ##5,@Import

      作用:用于导入qita配置类,再引入其他配置类时,可以不用再写@Configuration注解,当然,协商也没问题,

      属性:value 用于指定其他配置类的字节码

    ##6,@Runwith(常用)

    @RunWith(SpringJUnit4ClassRunner.class)

    ##7,@ContextConfiguration(常用)

    @ContextConfiguration("classpath:applicationContext.xml")
  • 相关阅读:
    VB与SQL Server实现文件上传下载
    rszl数据表和crjsj数据表的关联查询
    网吧忘关QQ的后果
    走 近 WSH
    形容长得丑的30句经典句子
    关机VBS脚本
    C51单片机中断定义
    .NET架构的核心技术
    SQL SERVER的命令行工具Osql的用法
    七七情人节
  • 原文地址:https://www.cnblogs.com/liurui-bk517/p/11344059.html
Copyright © 2011-2022 走看看