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

网站建设进度控制wordpress新建php页面模板

网站建设进度控制,wordpress新建php页面模板,海南网站建设公司哪家好,石家庄招标信息网1. Spring 核心概念1.1 如何理解 Spring DI#xff1f;DI#xff08;依赖注入#xff09; 是 IoC#xff08;控制反转#xff09; 的具体实现方式#xff0c;由 Spring 容器在运行时通过以下方式自动注入依赖#xff1a;构造器注入#xff08;推荐#xff09;Setter 注…1. Spring 核心概念1.1 如何理解 Spring DIDI依赖注入 是 IoC控制反转 的具体实现方式由 Spring 容器在运行时通过以下方式自动注入依赖构造器注入推荐Setter 注入字段注入不推荐因测试困难 开发者无需手动 new 依赖对象降低耦合度。1.2 基于注解配置作用域与延迟加载注解作用域示例描述ScopeScope(singleton)默认单例模式全局唯一实例Scope(prototype)每次请求创建新实例Scope(valuerequest)每个 HTTP 请求一个实例Web 环境LazyLazy(true)延迟初始化首次使用时创建 Bean示例代码 Component Scope(prototype) Lazy public class MyBean { } 1.3 BeanFactory vs ApplicationContext特性BeanFactoryApplicationContext加载时机懒加载调用 getBean() 时预加载容器启动时初始化所有单例 Bean高级功能无支持国际化、事件传播、AOP 等适用场景资源受限环境如移动设备企业级应用99% 场景使用 1.4 Spring Bean 生命周期实例化通过反射创建 Bean 实例。属性赋值DI 注入依赖。初始化调用 PostConstruct 方法实现 InitializingBean 的 afterPropertiesSet()使用容器中的 Bean 被调用。销毁调用 PreDestroy 方法实现 DisposableBean 的 destroy() 1.5 Bean 作用域对比作用域描述适用场景singleton默认作用域容器内唯一实例无状态服务如工具类、DAOprototype每次请求创建新实例有状态对象如用户会话request每个 HTTP 请求一个实例Web 环境表单数据、请求级缓存session每个 HTTP Session 一个实例用户登录状态、购物车application整个 Web 应用共享一个实例ServletContext全局配置、缓存 1.6 设计模式应用模式示例工厂模式BeanFactory 创建 Bean 实例单例模式默认作用域 singleton代理模式AOP 动态代理JDK/CGLIB观察者模式事件监听ApplicationListener模板方法模式JdbcTemplate、RestTemplate 1.7 Controller 并发安全无状态设计避免定义成员变量。线程安全所有数据通过方法参数或局部变量传递。示例 RestController public class SafeController {// 正确无成员变量GetMapping(/test)public String test(RequestParam String param) {return Result: param;} } 2. Spring MVC2.1 处理流程DispatcherServlet 接收请求。HandlerMapping 根据 RequestMapping 匹配 Controller。HandlerAdapter 调用 Controller 方法。Controller 返回 ModelAndView 或 JSONResponseBody。ViewResolver 解析视图如 JSP、Thymeleaf。渲染视图 并返回响应。 2.2 与 AJAX 交互后端使用 RestController ResponseBody 返回 JSON。前端AJAX 请求示例jQuery $.get(/api/user/1, function(data) {console.log(data.name); }); 2.3 与 Struts2 对比特性Spring MVCStruts2控制器单例线程安全多例每个请求一个 Action配置注解驱动零 XML基于 XML 和 OGNL性能更高无拦截器栈较低复杂 OGNL 解析生态与 Spring Boot 无缝集成社区已停滞 3. Spring 事务管理3.1 两种方式对比方式优点缺点声明式零侵入Transactional学习 AOP 和配置复杂编程式精确控制TransactionTemplate代码冗余、维护困难 3.2 优势传播行为支持 REQUIRED、REQUIRES_NEW 等 7 种策略。隔离级别READ_COMMITTED、SERIALIZABLE 等。多技术兼容统一 JDBC、JPA、Hibernate 事务。测试支持测试时自动回滚Rollback。 4. MyBatis4.1 动态 SQL 解决的问题SQL 注入#{} 预编译参数如 #{id}。代码冗余if、choose 等标签动态拼接 SQL。复杂查询foreach 处理 IN 语句。示例 select idfindUser resultTypeUserSELECT * FROM userwhereif testname ! nullAND name #{name}/if/where /select 4.2 缓存机制类型范围生命周期配置方式一级缓存SqlSession同一会话内有效默认开启无需配置二级缓存Mapper跨 SqlSession需手动开启cache/ 或注解 CacheNamespace 4.3 接口绑定原理通过 JDK 动态代理为 Mapper 接口生成实现类。好处SQL 与 Java 代码分离XML 或注解。无需手动实现 DAO如 JDBC 模板。支持动态 SQL 和结果映射。 4.4 JDBC 不足与 MyBatis 解决JDBC 问题MyBatis 解决方案冗余代码封装模板SqlSessionTemplate手动事务管理集成 Spring 声明式事务无连接池集成 HikariCP、Druid手动 ORM自动结果映射Results 4.5 优缺点优点缺点SQL 可控性强需手写 SQL轻量级无过度封装二级缓存配置复杂性能优化友好如延迟加载XML 配置繁琐可用注解 5. Shiro 权限管理5.1 认证与授权流程认证Subject.login() 提交凭证如用户名/密码。Realm.doGetAuthenticationInfo() 验证身份。成功后将用户信息存入 Session。授权Realm.doGetAuthorizationInfo() 加载角色和权限。通过注解 RequiresRoles(admin) 或标签 shiro:hasPermission 校验权限。 6. 其他常见问题6.1 Bean 工厂底层机制反射通过 Class.forName() 实例化 Bean。工厂模式BeanFactory 管理对象生命周期。动态代理AOP 生成代理对象JDK/CGLIB。资源释放调用 DisposableBean.destroy() 或 PreDestroy 避免内存泄漏。 6.2 内存泄漏定义已分配内存无法被 GC 回收如未关闭的 Connection、ThreadLocal 未清理。预防使用 try-with-resources、Spring 的 DisposableBean
http://www.pierceye.com/news/42325/

相关文章:

  • 网站建设和管理情况雅布设计作品
  • 企业建立网站步骤河南网站推广优化多少钱
  • 惠州seo天津搜索引擎优化公司
  • 网站建设中的图片软件实施工程师工资一般多少
  • 建一个企业网站要花多少钱0基础做下载网站
  • 茂名建网站免费网站在线收看
  • 做一个网站得做多少个页面上海推广seo
  • 微网站怎么开发稷山网站建设
  • 网站魔板大全中国网络
  • 网站开发流程丽江什么是网络营销中最容易出现问题的步骤
  • 成功网站管理系统上海市建设安全协会 - 网站首页
  • 教做视频的网站wordpress二次开发视频教程
  • 南昌网站开发公司电话邢台百姓网官网
  • 一个商城网站开发周期东营新闻联播在线直播今晚
  • 网站建设听取需求国外搜索网站排名
  • 太原建设网站制作wordpress文章列表插件
  • 网站开发的各个阶段及其完成的任务电商自学网
  • 马云的网站怎么做的长沙网站 微信建设
  • wordpress怎么给别人建站vi设计是啥意思
  • 设计软件网站制作网站建设长沙网站设计
  • 做二手家具回收哪个网站好加强残联网站建设
  • ajax jsp网站开发从入门到精通免费咨询医生平台
  • php成品网站怎么做才能使网站ip增多
  • 在那个网站做直播好赚钱织梦网站空间如何清理
  • 成都市双流区建设局官方网站网站设计的简称
  • 有没有找人做标书的网站wordpress编辑插件
  • 河源和平县建设局网站企业网站策划书制作
  • 模板建站能建个门户网站吗域名解析大全
  • 网站建设 每年收费陕西seo关键词优化外包
  • 怎么做网站文字图片品牌建设需要哪些方面