千家信息网

Sping注解如何开发

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容主要讲解"Sping注解如何开发",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Sping注解如何开发"吧!基本注解@Configuration作用
千家信息网最后更新 2024年11月24日Sping注解如何开发

本篇内容主要讲解"Sping注解如何开发",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Sping注解如何开发"吧!

  基本注解

  @Configuration

  作用: 标记在类上表示是一个配置类(相当于一个配置类)

  @Bean

  作用: 在容器中放一个bean相当于xml文件里的bean标签

  @Configuration

  public class DemoConfig {

  @Bean

  public Person person(){

  Person person = new Person();

  person.setPerson("china");

  return person;

  }

  }

  @scope

  作用: 指定作用域

  分为单例,多例等

  @ComponentScan()

  作用: 包扫描

  @Configuration

  @ComponentScan("com.zyh.pratice")

  public class DemoConfig {

  @Bean

  public Person person(){

  Person person = new Person();

  person.setPerson("china");

  return person;

  }

  }

  指定报下的注解都可以被扫描到

  过滤

  excludeFilters:不包含

  用法

  @Configuration

  @ComponentScan(value = "com.zyh.pratice", excludeFilters ={

  @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,value = IncludeBean.class),

  })

  public class DemoConfig {

  includeFilters:包含

  用法

  @Configuration

  @ComponentScan(value = "com.zyh.pratice", includeFilters ={

  @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,value = IncludeBean.class),

  },useDefaultFilters = false)

  注意 用includeFilters 时要将useDefaultFilters 设为false

  FilterType

  有这几种类型可选

  @Conditional 无锡妇科医院 http://www.bhnnk120.com/

  作用:条件注解,传入一个Condition的实现类,条件满足时才去加载bean

  @Conditional(ConditionDemo.class)

  public Bill bill(){

  return new Bill();

  }

  Condition

  作用位置

  被bean注释的方法上:满足条件时注册该bean

  类上:满足条件时注册该类

  import

  作用:导入指定的类

  @Configuration

  @ComponentScan

  @Import(ImportDemo.class)

  public class DemoConfig2 {

  }

  这样 ImportDemo就会被注册到容器中

  ImportSelector

  实现ImportSelector接口后,可以返回多个类,注册到容器中

  ImportBeanDefinitionRegistrar

  public class BeanDefinitionDemo implements ImportBeanDefinitionRegistrar {

  public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry beanDefinitionRegistry) {

  BeanDefinition beanDefinition = new RootBeanDefinition(BeanDemo.class);

  beanDefinitionRegistry.registerBeanDefinition("beanDemo",beanDefinition);

到此,相信大家对"Sping注解如何开发"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0