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

购物网站设计方案杭州网站优化流程

购物网站设计方案,杭州网站优化流程,宁波专业做公司网站的科技公司,wordpress中文连接目录 1.MyBatis工作流程 2.${} 和 #{}的区别? 3.mybatis多表关联查询如何实现一对一关联、一对多关联?怎么设置关联对象的类型? 4.Mybatis的好处?mybatis的缓存机制,一级,二级介绍一下 5.mybatis给我…

目录

1.MyBatis工作流程

2.${} 和 #{}的区别? 

3.mybatis多表关联查询如何实现一对一关联、一对多关联?怎么设置关联对象的类型? 

4.Mybatis的好处?mybatis的缓存机制,一级,二级介绍一下

5.mybatis给我们提供了哪些标签来生成动态SQL? 

6.Mybatis中resultType 和 resultMap 的区别? 

7.Spring IOC、DI、AOP是什么?

8.Spring中配置的单例bean默认什么时候初始化?如何实现懒加载? 

9.Springboot日志级别有哪些?如何更改日志级别 

10.Springboot自动配置的原理。 

11. Springboot添加Interceptor拦截器时,拦截器中preHandle、postHandle、afterCompletion方法含义?

12.@ConditionalOnClass、@ConditionalOnMissingClass分别是什么含义

13.我们要写一个过滤器需要哪些步骤?

14.SpringMVC拦截器和Servlet中的过滤器有什么区别?

15.springmvc接收参数的几种形式?

16.SpringMVC的工作流程? 

17.Spring 中事务的传播行为和隔离级别分别代表什么含义?并分别列举几个常用的传播行为和隔离级别

18.SpringMvc的作用及你对springmvc的理解?


1.MyBatis工作流程

        1.加载配置文件

        2.生成SqlSessionFactory

        3.建立SqlSession

        4.调用Mybatis提供的API

        5.查询Mapper配置文件

        6.返回结果

        7.关闭session

2.${} 和 #{}的区别? 

 ${}:简单字符串替换,把${}直接替换成变量的值,不做任何转换,这种是取值以后再去编译SQL语句,底层采用Statement语句,不能防止sql注入攻击。

• #{}:预编译处理,sql中的#{}替换成?,补全预编译语句,有效的防止Sql语句注入,这种取值是编译好SQL语句再取值。

3.mybatis多表关联查询如何实现一对一关联、一对多关联?怎么设置关联对象的类型? 

一对一关联和一对多关联都需要自定义标签 Assocication  Collection。

一对一通过标签定义,通过javaType指定关联对象的类型

一对多通过标签定义,通过ofType指定关联对象的类型

4.Mybatis的好处?mybatis的缓存机制,一级,二级介绍一下

 把Sql语句从Java中独立出来。

• 封装了底层的JDBC,API的调用,并且能够将结果集自动转换成JavaBean对象,简化了Java数据库编程的重复工作。

• 自己编写Sql语句,更加的灵活。

• 入参无需用对象封装(或者map封装),使用@Param注解

mybatis提供了缓存机制减轻数据库压力,提高数据库性能

mybatis的缓存分为两级:一级缓存、二级缓存

一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效

二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的

5.mybatis给我们提供了哪些标签来生成动态SQL? 

if标签: 判断标签,当参数符合判断条件拼接SQL语句。

where标签: 替代where关键字。

foreach标签: 向SQL传递数组或list,MyBatis使用foreach解析。

sql标签: 将实现的动态SQL判断代码块抽取出来,组成一个SQL片段,其它的statement中就通过`<include>`标签就可以引用SQL片段,方便程序员进行开发。

set标签:替代set关键字。

choose、when、otherwise标签:用于实现类似于编程语言中的 switch 语句的逻辑判断功能。

6.Mybatis中resultType 和 resultMap 的区别? 

resultType:自动映射,如果数据库结果集中的列名和要封装实体的属性名完全一致的话用 resultType 属性。

resultMap:手动映射,如果数据库结果集中的列名和要封装实体的属性名有不一致的情况用 resultMap 属性,通过 resultMap标签手动建立对象关系映射。

7.Spring IOC、DI、AOP是什么?

IOC:控制反转,将创建对象的权力转交给Spring,由 Spring 负责创建对象,管理对象,装配对象,并且管理这些对象的整个生命周期。

DI:我们在使用Spring 容器的时候,容器通过调用set 方法或者是构造器来建立对象之间的依赖关系。

AOP:面向切面编程,通过在不修改原有代码的情况下,将横切关注点(如事务管理、日志记录等)从核心业务逻辑中解耦出来,并在需要的地方进行统一的切面逻辑处理。

8.Spring中配置的单例bean默认什么时候初始化?如何实现懒加载? 

Spring中配置的单例bean默认在容器启动时就初始化。

懒加载:通过给添加lazy-init=”true”属性就可以将bean初始化的时机延迟到使用时

懒加载只要单例模式下有效

9.Springboot日志级别有哪些?如何更改日志级别 

日志级别:error、warn、info、debug、trace

更改日志级别:application.yml中配置:

logging:

 level:

  com:

   lanou: debug

10.Springboot自动配置的原理。 

1.当启动项目时,会执行@SpringbootApplication

2.该注解会启动其下的@EnableAutoConfiguration(自动装配)

3.自动装配的注解就是从 组件自动装配选择器(AutoConfigurationImportSelector)中读取组件列表

4.组件列表(META-INF/spring.factories)中就列举了众多需要进行整合的组件

5.就会找到对一个的组件类(xxxAutoConfiguration)

6.在组件类的上方就会判断当前项目是否需要与此组件整合 (@ConditionalOnClass({DataSource.class, EmbeddedDatabaseType.class}))

7.如果判断当前项目没有此类,则不会进行该组件的加载

8.如果判断当前项目有此类,则会读取与该组件整合的配置文件 (@EnableConfigurationProperties({DataSourceProperties.class}))

9.如果读取失败,则装配失败,项目报错

10,如果读取成功,则装配成功,springboot与该技术即整合成功

总结:整合什么技术 -- 导入该技术的jar包(场景包) -- 设置相关的属性 -- 整合成功

结论:

SpringBoot先加载所有的自动配置类 xxxxxAutoConfiguration;

每个自动配置类按照条件进行生效,默认都会绑定配置文件指定的值。

xxxxProperties里面拿。

xxxProperties和配置文件进行了绑定;

生效的配置类就会给容器中装配很多组件;

只要容器中有这些组件,相当于这些功能就有了;

11. Springboot添加Interceptor拦截器时,拦截器中preHandle、postHandle、afterCompletion方法含义?

perHandle:在controller的方法调用前调用执行。

postHandle:在controller的方法执行之后,返回给前端数据之前调用执行。

afterCompletion:在整个执行流程结束之后调用执行。

12.@ConditionalOnClass、@ConditionalOnMissingClass分别是什么含义

@ConditionalOnClass:判断项目中是否有对应的类,有:创建bean对象,没有:不创建bean对象。

@ConditionalOnMissingClass:判断项目中是否有对应的类,有:不创建bean对象,没有:创建bean对象。

13.我们要写一个过滤器需要哪些步骤?

1. 创建一个普通Java类 

2. 实现Filter接口,重写doFilter、init(FilterConfig config)、destroy 

3. 通过在web.xml中配置、或者通过@WebFilter注解注册到容器中 

14.SpringMVC拦截器和Servlet中的过滤器有什么区别?

拦截器是SpringMVC框架中封装的一个组件,拦截的是让不让一个请求执行对应的Handler,过滤器是Servlet标准中的组件,拦截的是让不让一个请求访问Servlet或者页面。

1.拦截器是基于 java 的反射机制的,而过滤器是基于函数回调。

2.拦截器不依赖与 servlet 容器,过滤器依赖与 servlet 容器。

3.拦截器只能拦截控制器,过滤器可以拦截所有的资源:Servlet,JSP,HTML。

4.拦截器在控制器的生命周期中,可以多次被调用,过滤器在所有请求调用之前。

5.拦截器可以访问控制器上下文、值栈里的对象,而过滤器不能访问。

15.springmvc接收参数的几种形式?

方式一、原生 HttpServletRequest 接收数据

方式二:通过参数名称接收 要求 url后传递的参数名和方法的形参名保持一致

方式三、参数名称不一致时  @RequestParam(name = "username")  参数映射
     1、限制是否允许为空  @RequestParam 默认不允许为空
     @RequestParam(required = false)
     required = false  是否允许为空
     2、是否给默认值 @RequestParam(defaultValue = "12345")
方式四、通过对象接收数据 (当前端传递的参数名和对象的属性名保持一致时)

方法五、restful风格接收(@PathVariable 地址栏传参)

16.SpringMVC的工作流程? 

17.Spring 中事务的传播行为和隔离级别分别代表什么含义?并分别列举几个常用的传播行为和隔离级别

事务的传播行为说的是事务与事务之间的嵌套关系。比如B事务如果嵌套在A事务中时,是复用A事务,还是各用各的事务,还是将A事务挂起,仅在B事务中运行,亦或是不在事务中运行。

常用的传播行为:

传播行为含义
REQUIRED(默认)当前有事务则加入,没有则新建事务。
REQUIRES_NEW总是新建事务,并挂起当前事务(如果存在)。
SUPPORTS当前有事务则加入,没有则以非事务方式运行。
NOT_SUPPORTED以非事务方式运行,并挂起当前事务(如果存在)。
MANDATORY必须在事务中调用,否则抛出异常。
NEVER必须在非事务中调用,否则抛出异常。
NESTED如果当前有事务,则在嵌套事务中执行(子事务回滚不影响父事务)。

事务的隔离级别说的是事务与事务之间的可见性关系。比如A事务在提交到数据库之前,B事务能否读取到A事务操作的数据。

常用的隔离级别:

隔离级别含义存在的问题
READ_UNCOMMITTED最低级别,可能读到其他事务未提交的数据(脏读)。脏读、不可重复读、幻读。
READ_COMMITTED只能读到其他事务已提交的数据(解决脏读)。不可重复读、幻读。
REPEATABLE_READ同一事务内多次读取结果一致(解决脏读、不可重复读)。幻读(MySQL 通过 MVCC 部分解决)。
SERIALIZABLE最高级别,完全串行化执行(解决所有并发问题,但性能最差)。无并发问题,但性能低。

18.SpringMvc的作用及你对springmvc的理解?

作用:

spring MVC是一个分层的java web开发框架,MVC模式提供了一个分层的体系结构,其中每一层对其它层进行了抽象,具体如下:

1.模型(Model):应用程序所使用的特定域信息的表现形式

2.视图(View):域模型的表现形式(通过使用诸如输入元素和按钮之类的用户界面元素,而这些元素与模型进行交互)。

3.控制器(Controller):主要负责解释用户的输入并转换为模型,然后将转换后的结果显示给用户。

优点:

让我们能非常简单的设计出干净的Web层,进行更简洁的Web层的开发

天生与Spring框架集成(如IoC容器、AOP等)

提供强大的约定大于配置的契约式编程支持

非常灵活的数据验证、格式化和数据绑定机制

支持Restful风格

http://www.mmbaike.com/news/39376.html

相关文章:

  • 股票订阅网站开发seo是干嘛的
  • 上海工信部网站今日最新的新闻
  • 游戏发布网网站建设微商软文
  • 怎么查看一个网站做的外链德阳网站seo
  • 什么是营销型的网站昆明seo推广外包
  • 用win2003做网站德阳网站seo
  • 网站开发心得微信指数是搜索量吗
  • 郑州网站推广哪家好全网营销与seo
  • 哪个网站有收藏加购做积分任务在线bt磁力搜索
  • 珠宝网站建设西安seo排名收费
  • 新建设电影院+网站线上推广具体应该怎么做
  • 代做cad平面图的网站seo关键词布局案例
  • 桂林网站制作百度客服电话人工服务热线电话
  • 上海安全建设协会网站window优化大师官网
  • 怎么做营销型网站东莞seo优化排名
  • 电脑网站建设在哪里网络营销课程培训
  • 局域网WEB网站开发如何让百度搜索到自己的网站
  • 呼和浩特疫情最新情况东莞seo建站如何推广
  • 如何办网站百度seo公司整站优化
  • 平价网站建设百度提交入口网站网址
  • 保障性住房建设投资中心网站网页优化包括
  • icp备案查询站长之家长尾关键词挖掘词工具
  • 萝岗免费网站建设百度财报q3
  • 网站建设后台深圳市企业网站seo
  • 网站建设类的手机软件网络优化工程师主要做什么
  • 做水产的都用什么网站搜索引擎优化课程总结
  • 昌平网站设计关键词优化报价
  • 动漫设计与制作是什么镇江搜索优化技巧
  • 网站项目名称品牌策划方案范文
  • 企业网站兰州建设费用所有关键词