java偏功能实现的面试题,教你如何做面霸( 七 )


说说对上下文的理解(>8)
context就是“容器” , 放的就是应用程序的所有资源 , 要用时候就访问它 , 所以context里面的东西 , 在同一个应用程序里面是全局的;web上下文可以看成web应用的运行环境 , 一般用context名字来修饰 , 里面保存了web应用相关的一些设置和全局变量
说说与 boot的区别(>10)
spring mvc需要大量xml配置 , spring boot遵守着约定大于配置 , springboot具体实现可以参考下文
6.3boot 介绍一下编写接口的注解(>5)
@RestController , @RequestMapping,@RequestParam , @Service,@RequestBody,@requestmapping等
介绍一下 boot事务(>5)
一个接口内 , 数据全部处理完成或者处理失败 , 防止一部分失败一部分成功 。使用@Transactional(rollbackFor = Exception.class)
描述一下风格(>7)
一种软件架构风格、设计风格 , 增删改查接口全部使用一个命名 , 使用请求类型来(get,post,put,delete)确定调用的那个接口 。
的启动原理(>8)
1.运行 SpringApplication.run()方法2.SpringApplicationRunListeners listeners = this.getRunListeners(args);获取监听器3.listeners.starting()触发applicationStartedEvent 启动监听器4.准备好环境environment 触发applicationEnvironmentPrepareEvent5.创建一个spring上下文createApplicationContext()6.初始化上下文1):获取要启动类包的地址2):转为BeanDefinitionRegistry3):通过注解扫描出bean 4):调用BeanDefinitionReaderUtils.registerBeanDefinition(definitionHolder, this.registry);将启动类BeanDefinition注册到IoC容器的beanDefinitionMap中7.刷新上下文refreshContext(注入各种需要的bean 以下是bean的生命周期 !!关键)//设置BeanFactory的后置处理. 空方法 , 留给子类拓展用 。(1)postProcessBeanFactory(beanFactory);//调用BeanFactory的后处理器, 这些后处理器是在Bean定义中向容器注册的.(2)invokeBeanFactoryPostProcessors(beanFactory);(3)实现自动化配置//注册Bean的后处理器, 在Bean创建过程中调用.(4)registerBeanPostProcessors(beanFactory);//初始化上下文中的消息源 , 即不同语言的消息体进行国际化处理(5)initMessageSource();//初始化ApplicationEventMulticaster bean,应用事件广播器(6)initApplicationEventMulticaster();//初始化其它特殊的Bean ,  空方法 , 留给子类拓展用 。(7)onRefresh();//检查并向容器注册监听器Bean(8)registerListeners();//实例化所有剩余的(non-lazy-init) 单例Bean.(9)finishBeanFactoryInitialization(beanFactory);//发布容器事件, 结束refresh过程.(10)finishRefresh();7.ApplicationRunner和CommandLineRunner启动
boot是怎么实现约定大于配置的(>8)
涉及源码 , 请自行百度 。
描述一下 boot中的异步(>8)
@EnableAsync使异步调用@Async注解生效调用后立即返回固定对象 , 释放线程 , 程序在后台执行 。前台无感知 。
描述一下跨域是如何处理(>8)
添加cors配置 。指定后台地址允许访问 。
介绍一下自定义注解(>9)
1.基于aop2.拦截器3.ConstraintValidator注解实现验证
介绍一下@和@区别(>9)
@Autowired注解由Spring提供,只按照byType注入;@resource注解由J2EE提供,默认按照byName自动注入2、@Autowired默认按类型进行装配,@Resource默认按照名称进行装配 。”
对于小公司 , 技能要求真心不多 , 数据结构算法 , 完全用不上 , 那么最重要的还是的使用 , 如果你能熟练的书写接口 , 熟练掌握ssh , 那么找个一个理想的工作是不难的 。所以 , 接口编写一定要6 。