在国外建设网站网页设计基础实训原理

张小明 2026/1/12 13:33:21
在国外建设网站,网页设计基础实训原理,医学ppt模板免费下载 素材,电工证免考拿证一、核心容器架构 1. 容器层级关系 BeanFactory#xff1a;根容器#xff0c;提供基础的IoC功能#xff0c;采用延迟加载策略ApplicationContext#xff1a;子容器#xff0c;继承BeanFactory#xff0c;增加AOP、消息源、事件发布等企业级功能WebApplicationContext根容器提供基础的IoC功能采用延迟加载策略ApplicationContext子容器继承BeanFactory增加AOP、消息源、事件发布等企业级功能WebApplicationContext专为Web应用设计的上下文支持Request/Session作用域2. 容器实现类类型加载来源使用场景ClassPathXmlApplicationContext类路径下的XML文件传统XML配置项目AnnotationConfigApplicationContextJava配置类注解驱动项目FileSystemXmlApplicationContext文件系统绝对路径特殊文件位置需求二、IOC与DI核心概念IOCInversion of Control - 控制反转本质将对象的创建、存储、管理权限从程序员转移给Spring容器控制创建对象的能力反转将创建权交给Spring我们只需获取使用DIDependency Injection - 依赖注入本质在容器创建对象后自动为其属性赋值注入依赖作用解耦对象间的依赖关系方式XML配置、注解、自动注入个人理解口诀IOC创建对象DI给属性赋值三、XML配置详解1. Bean定义基础beaniduserServiceclasscom.luo.service.impl.UserServiceImplscopesingletonlazy-initfalseautowirebyType!-- 属性注入 --propertynameuserDaorefuserDao/propertynamenamevalue小罗//beanbeaniduserDaoclasscom.luo.dao.impl.UserDaoImpl/关键属性idBean唯一标识默认首字母小写类名class类全路径scope作用域singleton/prototypelazy-init懒加载默认false启动时创建autowire自动注入模式2. 依赖注入三种方式Setter注入通过property标签调用setter方法构造器注入通过constructor-arg标签自动注入autowirebyType|byName|constructor四、Bean生命周期重点背诵完整流程图1. 解析配置 → BeanDefinition元数据 2. 实例化 → 构造函数创建对象 3. 属性注入 → DI依赖注入 4. 初始化 → 三种方式 ├─ PostConstruct ├─ InitializingBean.afterPropertiesSet() └─ init-method指定 5. 使用 → getBean()返回实例 6. 销毁 → 三种方式 ├─ PreDestroy ├─ DisposableBean.destroy() └─ destroy-method指定单例 vs 多例特性单例singleton多例prototype创建时机容器启动时创建默认getBean()时创建存储位置singletonObjects缓存集合不缓存每次都新建内存占用占用空间换时间效率每次创建新实例线程安全需注意共享资源天然线程安全懒加载lazy-inittrue使单例Bean在第一次获取时才创建五、BeanDefinition vs singletonObjects对象类型存储内容创建时机存储位置BeanDefinitionBean元数据类名、作用域、属性、依赖等容器启动解析配置时BeanFactory元数据区singletonObjects已实例化、注入、初始化的Bean对象单例Bean实例化后单例缓存池关系BeanDefinition是模板singletonObjects是最终产品六、扩展接口高阶背诵1. BeanFactoryPostProcessorBean工厂后处理器执行时机所有Bean实例化之前只执行一次作用修改Bean定义、动态注册Bean、解析占位符典型应用PropertySourcesPlaceholderConfigurer解析${}2. BeanPostProcessorBean后处理器执行时机Bean实例化后、初始化前后各执行一次作用AOP代理创建、依赖增强、性能监控Spring AOP本质通过BeanPostProcessor在初始化后创建代理对象执行顺序实例化 → 属性注入 → postProcessBeforeInitialization → 初始化 → postProcessAfterInitialization → 就绪可用七、FactoryBean机制复杂对象创建使用场景对象没有无参构造函数创建代理对象第三方框架整合动态创建复杂对象实现步骤创建类实现FactoryBeanT接口重写三个方法getObject()返回实际对象会加入容器getObjectType()返回对象类型isSingleton()是否单例默认true配置Beanbean iduser classUserFactoryBean/注意容器中Bean的ID是getObject()返回的对象标识而非FactoryBean本身八、外部属性文件引入!-- 1. 引入properties文件 --context:property-placeholderlocationclasspath:jdbc.properties/!-- 2. 使用占位符 --beaniddataSourceclasscom.alibaba.druid.pool.DruidDataSourcepropertynamedriverClassNamevalue${jdbc.driver}/propertynameurlvalue${jdbc.url}/propertynameusernamevalue${jdbc.username}/propertynamepasswordvalue${jdbc.password}//bean作用实现配置与代码分离方便环境切换九、Bean获取方式对比// 1. 通过ID获取不推荐强依赖字符串Objectbeanctx.getBean(userService);// 2. 通过ID类型特定场景UserServiceservicectx.getBean(userService,UserService.class);// 3. 通过类型推荐类型安全UserServiceservicectx.getBean(UserService.class);注意同一类型多个Bean时必须使用ID类型方式十、自动注入Autowire模式规则适用场景byType按类型匹配默认容器中该类型Bean唯一byName按属性名匹配ID同类型多个Bean时constructor按构造器参数类型构造器注入时注解等价物AutowiredautowirebyTypeResource(namexxx)autowirebyName十一、核心记忆口诀容器篇根容器BeanFactory子容器ApplicationContext加载方式ClassPathXml、AnnotationConfigIOC/DI篇IOC控制反转创建对象交给SpringDI依赖注入属性赋值自动化配置XMLproperty、注解Value生命周期篇四阶段实例化 → 注入 → 初始化 → 使用两后置BeanPostProcessor前后拦截一工厂BeanFactoryPostProcessor前置修改作用域篇单例启动创建缓存共享默认多例获取创建每次新建懒加载延迟单例创建时间十二、面试高频问答Q1: BeanFactory和ApplicationContext区别A: BeanFactory是基础容器延迟加载ApplicationContext是增强版立即加载支持更多企业级功能。Q2: 单例Bean线程安全吗A: Spring不保证线程安全需开发者自己保证。多例Bean天然线程安全。Q3: Autowired和Resource区别A: Autowired按类型注入默认Resource按名称注入默认。Q4: BeanPostProcessor作用A: 在Bean初始化前后执行Spring AOP就是基于此实现的动态代理。Q5: FactoryBean和BeanFactory区别A: BeanFactory是IoC容器工厂FactoryBean是创建特殊Bean的工厂Bean。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站有什么好处前端和后端的区别工资

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

张小明 2025/12/31 1:03:50 网站建设

c语言做的网站有什么优缺点网站页面优化方法有哪些内容

第一章:PHP 8.6 扩展依赖管理的演进背景PHP 8.6 的发布标志着语言在模块化和可维护性方面迈出了关键一步,特别是在扩展依赖管理机制上的改进。随着 PHP 生态日益复杂,开发者对扩展间版本兼容性和自动解析能力的需求愈发迫切。传统上&#xff…

张小明 2026/1/6 10:37:10 网站建设

企业网站cms 系统怎样做diy家具网站

Apache Doris管理工具终极指南:5步实现高效集群运维 【免费下载链接】doris Apache Doris is an easy-to-use, high performance and unified analytics database. 项目地址: https://gitcode.com/gh_mirrors/dori/doris 你是否曾经为Apache Doris集群的日常…

张小明 2025/12/31 1:03:52 网站建设

网站规划详细设计怎么写四川成都营销型网站

量子技术中的纠错码和框架解析 1. 量子纠错码的基本形式 在量子技术里,纠错码对于保障量子计算的准确性至关重要。 1.1 [3,1]码与量子码CBF [3,1]码能够纠正单比特错误。然而,基于[3,1]码的量子码CBF,却无法纠正所有涉及单个量子比特的错误。在量子环境中,可能存在无限…

张小明 2025/12/31 1:03:50 网站建设

百度网站如何做运营wordpress 网店

风光水火储能系统,一次调频二次调频simulink 仿真建模分析在当今电力系统不断追求高效、稳定与可持续的大背景下,风光水火储能多能互补系统成为了研究热点。其中,调频控制是确保系统频率稳定的关键,一次调频和二次调频更是重中之重…

张小明 2025/12/31 1:03:55 网站建设

琼海网站建设公司黄骅市美食

终极解决方案:这款免费音乐播放器如何终结版权限制烦恼 【免费下载链接】NeteaseMusic NeteaseMusic: 这是一个第三方的Web端音乐播放器,结合了网易云音乐和QQ音乐的资源,允许用户在线播放、搜索歌曲、获取歌词和评论等。 项目地址: https:…

张小明 2026/1/6 11:54:50 网站建设