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

自建网站与平台建站wordpress 股票交易

自建网站与平台建站,wordpress 股票交易,高职示范校建设网站,深圳设计师招聘Spring 核心知识点补充 1. IoC&#xff08;控制反转&#xff09; 核心思想&#xff1a;将对象的创建和依赖管理交给容器&#xff0c;而非在代码中直接控制实现方式&#xff1a; XML 配置&#xff1a;<bean> 标签定义对象注解&#xff1a;Component, Service, Repositor…

Spring 核心知识点补充

1. IoC(控制反转)
  • 核心思想:将对象的创建和依赖管理交给容器,而非在代码中直接控制
  • 实现方式
    • XML 配置:<bean> 标签定义对象
    • 注解:@Component, @Service, @Repository, @Controller
    • Java 配置:@Configuration + @Bean
  • 容器ApplicationContext 接口(如 ClassPathXmlApplicationContext, AnnotationConfigApplicationContext
2. AOP(面向切面编程)
  • 核心概念
    • 切面(Aspect):横切关注点的模块化(如日志、事务)
    • 连接点(Joinpoint):方法执行点
    • 通知(Advice)
      • @Before:前置通知
      • @After:后置通知
      • @Around:环绕通知
      • @AfterThrowing:异常通知
      • @AfterReturning:返回通知
    • 切点(Pointcut):定义哪些连接点应用通知(如 @Pointcut("execution(* com.service.*.*(..))"
  • 实现原理:动态代理(JDK 动态代理/CGLIB)
3. 标记注解
  • 核心注解

    注解作用
    @Component通用组件标记
    @Service业务逻辑层
    @Repository数据访问层(自动转换持久层异常)
    @ControllerMVC 控制器
    @Configuration声明配置类
    @Bean定义单例 Bean(在配置类中使用)
    @Scope设置作用域(如 prototype, singleton
    @Lazy延迟初始化
    @Primary优先注入的 Bean
4. 依赖注入(DI)
  • 注入方式

    • 构造器注入(推荐):

      @Autowired
      public UserService(UserRepository repo) {this.repo = repo;
      }
      
    • Setter 注入

      @Autowired
      public void setRepo(UserRepository repo) {this.repo = repo;
      }
      
    • 字段注入(不推荐):

      @Autowired
      private UserRepository repo;
      
  • 其他注解

    • @Qualifier:解决多个同类型 Bean 冲突
    • @Value:注入属性值(如 @Value("${db.url}")
5. 构造方法注入
  • Spring 4.3+ 优化:单构造方法可省略 @Autowired
  • 循环依赖解决方案:通过构造器注入无法解决循环依赖(需用 Setter/字段注入)
6. 三级缓存与循环依赖
  • 缓存级别
    1. 一级缓存singletonObjects(完整 Bean)
    2. 二级缓存earlySingletonObjects(半成品 Bean)
    3. 三级缓存singletonFactories(Bean 工厂)
  • 循环依赖解决流程(以 A→B→A 为例):
    1. 创建 A 实例 → 放入三级缓存
    2. A 注入 B → 创建 B 实例 → 放入三级缓存
    3. B 注入 A → 从三级缓存获取 A 的工厂 → 生成 A 代理对象 → 放入二级缓存
    4. B 初始化完成 → 移入一级缓存
    5. A 完成初始化 → 移入一级缓存
  • 关键点
    • 只适用于 单例作用域singleton
    • 构造器注入无法解决循环依赖
    • 原型作用域(prototype)不支持循环依赖
7. 易遗漏的核心知识点
  • Bean 生命周期

    1. 实例化 → 2. 属性填充 → 3. BeanNameAware → 4. BeanFactoryAware
    2. ApplicationContextAware → 6. 前置处理器 → 7. @PostConstruct
    3. InitializingBean → 9. 自定义 init-method → 10. 后置处理器
    4. 使用 → 12. @PreDestroy → 13. DisposableBean → 14. 自定义 destroy-method
  • 事务管理

    • 注解 @Transactional
    • 传播行为(Propagation.REQUIRED
    • 隔离级别(Isolation.READ_COMMITTED
  • 设计模式应用

    • 工厂模式(BeanFactory
    • 代理模式(AOP)
    • 模板方法(JdbcTemplate
    • 观察者模式(ApplicationEvent 事件机制)
  • 扩展机制

    • BeanPostProcessor:干预 Bean 初始化过程
    • BeanFactoryPostProcessor:修改 Bean 定义(如 PropertySourcesPlaceholderConfigurer
    • ImportSelector:动态加载配置类
  • Spring Boot 关联

    • 自动配置原理:@EnableAutoConfigurationMETA-INF/spring.factories
    • 条件注解:@ConditionalOnClass, @ConditionalOnProperty
8. 最佳实践建议
  1. 避免循环依赖:重构代码(提取公共逻辑到新类)
  2. 优先使用构造器注入:保证依赖不可变,避免 NPE
  3. 谨慎使用 @Autowired:明确依赖关系,推荐 final + 构造器
  4. AOP 切面粒度:避免过度拦截,影响性能

示例:构造器注入解决循环依赖

@Service
public class ServiceA {private final ServiceB serviceB;public ServiceA(ServiceB serviceB) {this.serviceB = serviceB;  // Spring 通过三级缓存解决依赖}
}@Service
public class ServiceB {private final ServiceA serviceA;public ServiceB(ServiceA serviceA) {this.serviceA = serviceA;}
}

通过理解这些核心机制,能更高效地解决 Spring 应用中的复杂问题(如循环依赖),并编写可维护性高的代码。

http://www.dtcms.com/wzjs/840625.html

相关文章:

  • wordpress 站内信 群发php网站建设与管理
  • 望城建设局网站福州公众号小程序制作公司
  • 用家用电脑建设网站免费空间申请2018
  • 佛山做网站哪家公司最好网站一直没收录
  • 环保企业网站模板wordpress添加快速链接
  • 网站有哪些后台自己做网站图片存在哪里
  • 多用户网站管理系统规划网站的思路
  • 上门做睫毛哪个网站济南建设工程信息网官网
  • 浙江工信部网站备案查询宝塔本地装wordpress
  • 酒类网站建设方案案自己的网站怎么样推广优化
  • 最便宜的视频网站建设手机网站一年维护费
  • 如何做个盈利的网站企业没有网站怎么对外做公示
  • 网站代运营要多少费用吗顺德做网站那家好
  • 外发加工网站二维码制作工具网页
  • 邯郸建设网站制作表情包制作在线生成器
  • mediwiki 做网站南京做网站南京乐识专业
  • 制作一个公司网站多少wordpress google ajax
  • php素材网站源码免费下载营销型网站具备的二大能力
  • 杭州经济技术开发区建设局网站wordpress 防源码抓取
  • 做网站要学些什么条件推广信息怎么写
  • 西安模板做网站怎么对企业进行网站建设
  • 翻硬币网站怎么做wordpress手机网址导航
  • 网站建设-选猴王网络江苏住建厅特种作业证
  • 网站管理员后台广告设计网站官网
  • 衡阳的网站建设网站怎么添加广告
  • vscode的网站开发配置wordpress 文章摘要 插件
  • 成都商城网站制作dede网站模板 医疗
  • 深圳通公司网站网站制作 东莞
  • 网站建设公司税率巅峰网站建设
  • 做网站需要学会些什么软件苍梧县网站建设