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

做互联网小程序 和网站有没有前景浙江网站建设工作室

做互联网小程序 和网站有没有前景,浙江网站建设工作室,宁波网站建设怎么建设,公司工商注册信息1.循环依赖 循环依赖其实就是循环引用#xff0c;也就是两个或者两个以上的 Bean 互相持有对方#xff0c;最终形成闭环。比如A 依赖于B#xff0c;B又依赖于A Spring中循环依赖场景有: prototype 原型 bean循环依赖 构造器的循环依赖#xff08;构造器注入#xff09;…1.循环依赖 循环依赖其实就是循环引用也就是两个或者两个以上的 Bean 互相持有对方最终形成闭环。比如A 依赖于BB又依赖于A Spring中循环依赖场景有: prototype 原型 bean循环依赖 构造器的循环依赖构造器注入 Field 属性的循环依赖set注入 其中构造器的循环依赖问题无法解决在解决属性循环依赖时可以使用懒加载spring采用的是提前暴露对象的方法。 2.三级缓存解决循环依赖问题 ①Spring容器初始化ClassA通过构造器初始化对象后提前暴露到Spring容器中的singletonFactorys三级缓存中。 ②ClassA调用setClassB方法Spring首先尝试从容器中获取ClassB此时ClassB不存在Spring 容器中。 ③Spring容器初始化ClassBClasssB首先将自己暴露在三级缓存中然后从Spring容器一级、二级、三级缓存中一次中获取ClassA 。 ④获取到ClassA后将自己实例化放入单例池中实例 ClassA通过Spring容器获取到ClassB完成了自己对象初始化操作。 ⑤这样ClassA和ClassB都完成了对象初始化操作从而解决了循环依赖问题。 3.Bean的注解 Component 通⽤的注解可标注任意类为 Spring 组件 Service 在业务逻辑层使用service层 Repository 在数据访问层使用dao层 Controller 在展现层使用控制器的声明controller层 ​●注入bean的注解 Autowired默认按照类型来装配注入Qualifier可以改成名称 Resource默认按照名称来装配注入JDK的注解新版本已经弃用 ●Autowired注解原理 Autowired的使用简化了我们的开发实现 AutowiredAnnotationBeanPostProcessor 类该类实现了 Spring 框架的一些扩展接口。​ 实现 BeanFactoryAware 接口使其内部持有了 BeanFactory可轻松的获取需要依赖的的 Bean。​ 实现 MergedBeanDefinitionPostProcessor 接口实例化Bean 前获取到 里面的 Autowired 信息并缓存下来​ 实现 postProcessPropertyValues 接口 实例化Bean 后从缓存取出注解信息通过反射将依赖对象设置到 Bean 属性里面。 ●SpringBootApplication注解等同于下面三个注解 ✮SpringBootConfiguration 底层是Configuration注解说白了就是支持JavaConfig的方式来进行配置 ✮EnableAutoConfiguration开启自动配置功能 ✮ComponentScan就是扫描注解默认是扫描当前类下的package 4.SpringMVC Controller 声明该类为SpringMVC中的Controller RequestMapping 用于映射Web请求 ResponseBody 支持将返回值放在response内而不是一个页面通常用户返回json数据 RequestBody 允许request的参数在request体中而不是在直接连接在地址后面。 PathVariable 用于接收路径参数 RequestMapping(/hello/{name})申明的路径将注解放在参数中前即可获取该值通常作为Restful的接口实现方法。 ●SpringMVC原理 ①客户端浏览器发送请求直接请求到 DispatcherServlet 。 ②DispatcherServlet 根据请求信息调⽤ HandlerMapping 解析请求对应的 Handler 。 ③解析到对应的 Handler 也就是 Controller 控制器后开始由HandlerAdapter 适配器处理。 ④HandlerAdapter 会根据 Handler 来调⽤真正的处理器开处理请求并处理相应的业务逻辑。 ⑤处理器处理完业务后会返回⼀个 ModelAndView 对象 Model 是返回的数据对象 ⑥ViewResolver 会根据逻辑 View 查找实际的 View 。 ⑦DispaterServlet 把返回的 Model 传给 View 视图渲染。 ⑧把 View 返回给请求者浏览器 5.SpringMybatis Insert 插入sql ,和xml insert sql语法完全一样 Select 查询sql, 和xml select sql语法完全一样 Update 更新sql, 和xml update sql语法完全一样 Delete 删除sql, 和xml delete sql语法完全一样 Param 入参 Results 设置结果集合Result 结果 ResultMap 引用结果集合 SelectKey 获取最新插入id Qmybatis如何防止sql注入 A简单的说就是#{}是经过预编译的是安全的${}是未经过预编译的仅仅是取变量的值是非安全的存在SQL注入。在编写mybatis的映射语句时尽量采用**“#{xxx}”这样的格式。如果需要实现动态传入表名、列名还需要做如下修改添加属性statementTypeSTATEMENT同时sql里的属有变量取值都改成${xxxx}** ●Mybatis和Hibernate的区别 ✮Hibernate 框架 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,建立对象与数据库表的映射。是一个全自动的、完全面向对象的持久层框架。 ✮Mybatis框架 Mybatis是一个开源对象关系映射框架原名ibatis,2010年由谷歌接管以后更名。是一个半自动化的持久层框架。 ●区别 ★开发方面 在项目开发过程当中就速度而言 hibernate开发中sql语句已经被封装直接可以使用加快系统开发 Mybatis 属于半自动化sql需要手工完成稍微繁琐 但是凡事都不是绝对的如果对于庞大复杂的系统项目来说复杂语句较多hibernate 就不是好方案。 ★sql优化方面 Hibernate 自动生成sql,有些语句较为繁琐会多消耗一些性能 Mybatis 手动编写sql可以避免不需要的查询提高系统性能 ★对象管理比对 Hibernate 是完整的对象-关系映射的框架开发工程中无需过多关注底层实现只要去管理对象即可 Mybatis 需要自行管理映射关系
http://www.hkea.cn/news/14303884/

相关文章:

  • 翻译企业网站建设龙华响应式网站建设
  • 怎样去查网站备案号html 新手入门
  • 网站建设自助建站云建站网站开发的教学课程
  • 什么叫网站名称彩票网站建设古大学
  • 一级域名建站网站建设行吗专业团队张伟原图
  • 大埔县住房城乡规划建设局网站大数据营销的特点有哪些
  • 盐城网站建设制作方案腾讯云wordpress密码
  • 海淀做网站的公司ASP net网站开发资料
  • 海口cms建站系统网站自动推广软件
  • 鄂尔多斯网站制作 建设推广头像模板在线制作软件
  • 做网站被坑能找司法吗电商网站开发费用
  • 网站收录查询入口ps网站导航制作
  • 信息平台网站建设装修公司展厅工艺样板
  • 哈尔滨网站小程序制作营销通
  • 网站建设培训班价格商品定制首页
  • 网站域名注册申请上海建筑设计院停工停产通知
  • 智慧团建网站入口官网品牌建设营销
  • 张家港市住房城乡建设局网站国外可以做非法网站吗
  • 做平面素材好的网站东莞网站建设推广费用
  • 做进化树的网站电工应用技术网站资源建设
  • 增长超人做网站多少钱网站如何做微信支付宝支付宝
  • 很长的网站域名怎么做短给素材网站做签约设计不想做了
  • 口碑好的做网站网站建设服务8
  • 关于做书的网站二手交易网站设计怎么做
  • 网站构建工具怎么做网站演示
  • python做网站稳定吗深圳 网站设计公司排名
  • 北京网站搭建多少钱权威发布是什么意思
  • 采集网站如何收录新手网站建设教程
  • 网站小程序开发公司北京建设网网站
  • 七米网站开发移动端网站建站视频