松江区环保局网站建设项目备案,儿童网站html模板,影楼修图用什么软件,上海公司起名1、Mybatis #{}和${}的区别是什么
a、#{}是预编辑处理、是占位符#xff0c;${}是字符串拼接符。
b、#{}替换为#xff1f;号#xff0c;用PreparedStatement来赋值#xff0c;${}直接替换变量的值#xff0c;用Statement赋值。
c、#{}在DBMS中、自动加入单引号#…1、Mybatis #{}和${}的区别是什么
a、#{}是预编辑处理、是占位符${}是字符串拼接符。
b、#{}替换为号用PreparedStatement来赋值${}直接替换变量的值用Statement赋值。
c、#{}在DBMS中、自动加入单引号${}是DBMS外不会加入单引号。
总结#{}是线程防止SQL注入提高系统安全性。
2、ApplicationContext和BeanFactory有什么
、扩展功能
支持国际化、统一的资源文件访问方式、注册多个上下文、在监听器中注册bean事件、同时加载多个配置文件。
b、加载方式
BeanFactory采用延迟加载、获取bean才初始化ApplicationContext在启动容器时就加载所有Bean及时发现存在的错误配置。
c、创建方式:
BeanFactory只能以编程的方式创建ApplicationContext还支持以ContextLoader声明式创建。
d、注册方式
BeanFactory是手动注册ApplicatonContext是自动注册都支持BeanPostProcessor、BeanFactoryPostProcessor的使用。
3、SpringBoot、SpringMVC、Spring有什么区别
a、Spring 是IOC容器依赖注入实现控制反转AOP弥补OOP代码重复问题。
b、SpringMVC是Spring web框架一种解决方案前端控制器接收请求提供url路由策略及适配执行Handle将Handle的视图解析技术生成视图展现给前端。
c、SpringBoot是Spring提供一个快速开发工具包快速开发Web应用。约定大于配置、整理了一系列的解决方案、开箱即用、降低耦合度。
4、SpringBoot 是如何启动Tomcat的
a、启动Spring容器。
b、通过ConditionalOnClass 查找ClassPath 是有Tomcat依赖就创建Tomcat Bean。
c、启动完成后创建Tomcat对象绑定端口启动Tomcat。
5、SpringBoot常用注解及其底层实现
a、SpringBootApplication
SpringBootConfiguration等同于Configuration,表示启动类也是一个配置类。
EnableAutoConfiguration 向Spring容器中导入一个Selector ,在ClassPath下 SpringFactories中所定义的自动配置类将这些自动加载为配置Bean
ComponentScan: 标识扫描路径默认扫描当前目录下的其它类。
b、bean:方法名成BeanName。
c、Controller、Service、ResponseBody、RequestBody、Autowired。
6、SpringBoot中配置文件的加载顺序是怎样的
a、命令行参数。
b、java系统属性。
c、操作系统环境变量。
d、jar 外部applicton-{profile}.properties或application-{profile}.yml (带spring.profile)的配置文件。
e、jar 内部applicton-{profile}.properties或application-{profile}.yml (带spring.profile)的配置文件。
f、jar 外部applicton.properties或application.yml (不带spring.profile)的配置文件。
g、jar 内部applicton.properties或application.yml (不带spring.profile)的配置文件。
i、Configuration 注解上的PropertySource。
7、SpringBoot自动配置原理ImportConfigurationSpring spi
a、SpringBootConfiguration Configuration
b、EnableAutoConfiguration
i、Import(EnableAutoConfigurationImportSelector.class) selectImports(字符串数组类的全路径)通过SpringFactoriesLoader.loadFactoryNames加载META-INF/spring.factories中的EnableAutoConfigurationConfigurationBean。
ii、AutoConfigurationPackageImport(AutoConfigurationPackages.Registrar.class)ImportBeanDefinitionRegistrar注册扫描到全局变量、提供查询。
c、ComponentScan。 8、SpringMVC的底层工作流程
a、用户发送请求给前端控制器DispatherServlet。
b、DispatherServlet收到请求调用HandlerMapping处理器映射器。
c、处理器映射器找到具体的处理器可以根据xml配置、注解进行查找生成处理器及处理器拦截器如果有则生成一并返回给DispatcherServlet。
d、DispatcherServlet调用处理器适配器HandlerAdapter。
e、HandlerAdapter经过适配调用具体的处理器Controller,也叫后端控制器。
f、Controller执行完成返回ModelAndView。
g、HandlerAdapter将返回ModelAndView一并返回给DispatcherServlet。
h、DispatcherServlet将ModelandView传给视图解析器ViewSolver。
i、ViewSolver解析完后view返回给DispatcherServlet。
j、DispatcherServlet渲染视图。
k、DispatcherSevlet响应用户。
9、SpringMVC的九大组件
a、HandlerMapping。
b、HandlerAdapter。
c、HandlerExceptionResolver:统一的异常控制。
d、ViewResolver。
e、RequestToViewNameTranslator。
f、LocalResolver。
g、ThemeResolver解析主题。
h、MultipartResolverMultipartHttpServletRequest。
i、FlashMapManagerinitFlashMapManager(context),用来管理FlashMap的FlashMap主要用在redirect中传递参数。