当前位置: 首页 > news >正文

做网站图注意事项网上商城购物系统流程图

做网站图注意事项,网上商城购物系统流程图,西安网站托管排名,北京网站制作合肥目录 1、xml方式2、CompontScan Component3、使用 Bean方式4、使用Import 注解5、FactoryBean 工厂 bean6、使用 ImportBeanDefinitionRegistrar 向容器中注入Bean7、实现 ImportSelector 接口 1、xml方式 使用 xml 的方式来声明 Bean 的定义,Spring 容器在启动的…

目录

    • 1、xml方式
    • 2、@CompontScan + @Component
    • 3、使用 @Bean方式
    • 4、使用@Import 注解
    • 5、FactoryBean 工厂 bean
    • 6、使用 ImportBeanDefinitionRegistrar 向容器中注入Bean
    • 7、实现 ImportSelector 接口

1、xml方式

使用 xml 的方式来声明 Bean 的定义,Spring 容器在启动的时候会加载并解析这个 xml,把 bean 装载到 IOC 容器中。

2、@CompontScan + @Component

使用@CompontScan 注解来扫描声明了@Controller、@Service、 @Repository、@Component 注解的类。

3、使用 @Bean方式

使用@Configuration 注解声明配置类,并使用@Bean 注解实现 Bean 的定义,这种方式其实是 xml 配置方式的一种演变,是 Spring 迈入到无配置化时代的里程碑。

4、使用@Import 注解

使用@Import 注解,导入配置类或者普通的 Bean

在Spring中,使用@Import注解可以将其他配置类(Configuration类)中定义的Bean引入到当前的配置类中。这允许你在一个配置类中引入其他配置类,从而将它们的Bean定义整合到一个应用上下文中。

以下是使用@Import注解的简单示例:

@Configuration
public class AppConfig1 {@Beanpublic MyBean myBean() {return new MyBean();}
}@Configuration
@Import(AppConfig1.class)
public class AppConfig2 {// AppConfig2 中可以直接使用 AppConfig1 中定义的 MyBean
}

在上述示例中,AppConfig2通过@Import(AppConfig1.class)注解引入了AppConfig1中的Bean定义。这样,在AppConfig2中就可以直接使用AppConfig1中定义的MyBean。

你还可以一次引入多个配置类,只需要在@Import注解中传入一个包含所有要引入的配置类的数组,如:

@Import({AppConfig1.class, AnotherConfig.class, YetAnotherConfig.class})

5、FactoryBean 工厂 bean

使用 FactoryBean 工厂 bean,动态构建一个 Bean 实例,Spring CloudOpenFeign 里面的动态代理实例就是使用 FactoryBean 来实现的。

6、使用 ImportBeanDefinitionRegistrar 向容器中注入Bean

实现 ImportBeanDefinitionRegistrar 接口,可以动态注入 Bean 实例。这个在Spring Boot 里面的启动注解有用到。

ImportBeanDefinitionRegistrar是Spring提供的一个接口,允许你在运行时动态地注册Bean定义到Spring容器中。通过实现这个接口,你可以在配置类上使用@Import注解,并在registerBeanDefinitions方法中自定义添加Bean定义。

以下是一个简单的示例,演示如何使用ImportBeanDefinitionRegistrar接口注入一个Bean:

创建需要注入的Bean:

public class MyInjectedBean {// ...
}

实现ImportBeanDefinitionRegistrar接口:

public class MyBeanRegistrar implements ImportBeanDefinitionRegistrar, EnvironmentAware {private Environment environment;@Overridepublic void setEnvironment(Environment environment) {this.environment = environment;}@Overridepublic void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {// 通过注册Bean定义的方式将 MyInjectedBean 注入到 Spring 容器中GenericBeanDefinition beanDefinition = new GenericBeanDefinition();beanDefinition.setBeanClass(MyInjectedBean.class);registry.registerBeanDefinition("myInjectedBean", beanDefinition);}
}

在配置类中使用@Import注解导入ImportBeanDefinitionRegistrar:

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;@Configuration
@Import(MyBeanRegistrar.class)
public class AppConfig {// 此处不需要声明 MyInjectedBean 的 @Bean 方法,它会由 MyBeanRegistrar 动态注册
}

在这个示例中,MyBeanRegistrar实现了ImportBeanDefinitionRegistrar接口,并在registerBeanDefinitions方法中注册了MyInjectedBean的Bean定义。然后,在AppConfig配置类中使用@Import注解将MyBeanRegistrar导入,从而在Spring容器中动态注册了MyInjectedBean。

这种方式允许你在运行时根据需要动态地注册Bean定义,提供了更灵活的配置和扩展机制。

7、实现 ImportSelector 接口

实现 ImportSelector 接口,动态批量注入配置类或者 Bean 对象,这个在 SpringBoot 里面的自动装配机制里面有用到

http://www.yayakq.cn/news/238171/

相关文章:

  • 江苏省建设执业网站一帘幽梦紫菱做的网站
  • 建设银行签名通在网站哪里下载找南昌网站开发公司
  • 娱乐城网站开发p2p 网站开发
  • 网站是如何建立的呢网络直播网站建设
  • 怀化招标网站做的好的营销型网站有哪些
  • 做类似淘宝网站多少钱电子信息工程移动互联网方向
  • 网站建设的技巧有哪些苏州seo公司排名
  • 二手交易平台 网站开发如何 做网站
  • 监控摄像头做直播网站wordpress摘要插件 帕兰映像
  • 中山h5网站建设mysql8 wordpress
  • 参考文献 教学网站建设中企动力企业邮箱入口
  • 珠海网站建易搜互联站建设培训学校
  • 微网站是什么做网站网页需要多久
  • 赣州网站建设精英化妆品网站静态模板
  • 免费linux网站空间公众号编辑器怎么使用
  • 中英文切换网站开发温州建校官网
  • 网站图片切换wordpress易语言登录
  • 大良手机网站建设豪华跑车网站建设
  • 建设银行保定分行网站苏州注册公司一站式
  • 洛阳网站建设 培训米拓建站怎么样
  • 做公司企业网站如何做网站发布商品
  • 鲜花网站建设报告做本地网站
  • 创建个人网站多少钱长沙电商平台推广公司
  • 最新网站源码桂林象鼻山景区介绍
  • 南京响应式网站设计wordpress html5 mp3
  • 音乐网站 源码移植wordpress数据库
  • 电子商务网站建设作业文档面试网站建设问题
  • 网站建设分几个阶段做外贸学习网站
  • 昆明电商网站开发辽宁省建设局网站
  • 深圳市住房和建设局网站住房深圳宝安区地图