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

商城网站建设php高端企业网站建站

商城网站建设php,高端企业网站建站,百度导航如何设置公司地址,如何优化关键词提升相关度Spring容器从启动到关闭的注解使用顺序及说明 1. 容器启动阶段 注解:Configuration、ComponentScan 作用: Configuration:标记配置类,声明Spring应用上下文的配置源。ComponentScan:扫描指定包下的组件(B…

Spring容器从启动到关闭的注解使用顺序及说明


1. 容器启动阶段

注解@Configuration@ComponentScan
作用

  • @Configuration:标记配置类,声明Spring应用上下文的配置源。
  • @ComponentScan:扫描指定包下的组件(Bean),自动注册为Spring管理的Bean。
@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig {// 配置类内容
}

2. Bean定义与发现阶段

注解@Component@Service@Repository@Controller
作用

  • 标记类为Spring管理的Bean,触发组件扫描机制将其注册到容器中。
@Service
public class MyService {// Service层Bean
}@Repository
public class UserRepository {// 数据库访问层Bean
}

3. 作用域与Bean配置阶段

注解@Scope@Lazy
作用

  • @Scope:定义Bean的作用域(如prototyperequest等,默认singleton)。
  • @Lazy:延迟初始化Bean(在首次使用时创建,而非容器启动时)。
@Scope("prototype")
@Lazy
public class LazyBean {// 原型作用域且延迟初始化的Bean
}

4. 依赖注入阶段

注解@Autowired@Qualifier@Value
作用

  • @Autowired:自动注入依赖的Bean。
  • @Qualifier:解决多Bean同类型时的歧义。
  • @Value:注入配置属性(如application.properties中的值)。
@Service
public class MyService {@Autowired@Qualifier("primaryUserDao")private UserDao userDao;@Value("${app.config.timeout}")private int timeout;
}

5. 初始化阶段

注解@PostConstruct
作用

  • 标记方法在依赖注入完成后执行,用于初始化逻辑(如数据预加载)。
@Service
public class MyService {@PostConstructpublic void init() {System.out.println("Bean initialized");}
}

6. 容器关闭阶段

注解@PreDestroy
作用

  • 标记方法在容器关闭时执行,用于资源释放(如关闭连接、清理缓存)。
@Service
public class MyService {@PreDestroypublic void cleanup() {System.out.println("Bean destroyed");}
}

完整生命周期注解使用顺序表

阶段注解作用
容器启动@Configuration, @ComponentScan定义配置类并扫描组件,初始化容器
Bean定义@Component, @Service, etc.标记类为Spring管理的Bean
作用域与配置@Scope, @Lazy定义Bean的作用域和初始化时机
依赖注入@Autowired, @Qualifier, @Value自动注入依赖、解决歧义、注入配置属性
Bean初始化@PostConstruct在依赖注入后执行初始化逻辑
容器关闭@PreDestroy在容器关闭前执行资源清理

关键说明

  1. 顺序依赖

    • @Configuration@ComponentScan 是容器启动的前提条件,必须先定义配置类和扫描路径。
    • @PostConstruct 必须在依赖注入完成后执行,而 @PreDestroy 必须在Bean销毁前执行。
  2. 扩展注解

    • @Primary:在存在多个同类型Bean时,指定默认注入的Bean(需与 @Autowired 配合)。
    • @Profile:按环境(如devprod)选择性注册Bean。
    • @Bean:在配置类中显式定义Bean(需结合 @Configuration 使用)。

总结

Spring容器从启动到关闭的注解使用顺序为:
@Configuration@ComponentScan@Component/Service/...@Scope/@Lazy@Autowired/@Qualifier/@Value@PostConstruct@PreDestroy
通过这些注解,可以清晰地控制Bean的生命周期、依赖关系和作用域,实现灵活的Spring应用管理。

http://www.dtcms.com/a/526526.html

相关文章:

  • 体育建设网站首页小程序解决方案网页模板下载
  • 南宁品牌网站建设公司做网站设计的有些什么职位
  • 企业平台网站建设方案iis虚拟网站
  • 新手入门网站建设北京网站开发工程师
  • 怎么做带购物功能的网站东莞市哪里有做网站公司
  • 关于网站开发的商业计划书分享网站对联广告
  • 如何解决 pip install 安装报错 pyproject.toml 缺少 build-system.requires 问题
  • 在百度上做网站怎么做静态的网页wordpress
  • 游资作手新一的悟道心法
  • 实业 东莞网站建设做ppt的网站兼职
  • 【实战经验】fnOS 存储空间创建指南
  • 网站设计注册做报表的网站
  • 网站建设有趣名称中国光大国际建设工程公司网站
  • 网站运营seo招聘阳信县住房和城乡建设局网站
  • Restormer:用于高分辨率图像恢复的高效 Transformer
  • server 2012 iis 添加网站外贸网站建设公司效果
  • 徐州seo建站能够做物理题的网站
  • 绵阳市建设工程监督网站360收录入口
  • 绍兴酒店网站建设网站开发中 即将上线
  • 网站图片上传不上去怎么办做毕业设计免费网站建设
  • 灰蓝 网站模板Wordpress 页面拼接
  • 安庆市建设局网站首页网站都可以做哪些主题
  • 非法期货做网站怎么查网站的域名备案
  • 软件中心下载安装二级域名和一级域名优化难度
  • 包装公司网站模板下载wordpress如何把文件添加到媒体库
  • 巴中哪里做网站高端顺口公司名字
  • MYSQL学习成功展示(个人)
  • 做外贸兼职的网站做百度推广是网站好还是阿里好
  • 网站做seo 反应非常慢程序员建网站
  • 响应式网站开发方案vi视觉形象设计