since 2020-01-05
spring boot
spring boot
- spring 如何初始化? - web.xml
- onstartup()方法七行代码(官方文档)
- dispatcher servlet如何注入给web的容器? web.xml servlet
- sm.xml干了什么?
- 扫描。 /yuqin 扫描什么呢?/
- 配置bean。
- 这些功能都可以用onstartup中的annotation,appconfig程序替代。
- tomcat用spi实现启动onstartup,而不是反射,因为反射还要Import到spring, tomcat是另一个公司的,不会这样做。dubbo中核心也是spi。
- servlet 3.1规定在启动的时候一定会调用到webapplicationinitializer的onstartup方法
- sm.xml干了什么?
spring aop(aspect oriented programming with spring)面向切面编程
- 应用
- 什么叫做aop?
- AOP是编程需要实现的目标,spring aop是手段,aspectJ也是一种实现方式。
- 登陆,以传统面向对象,http->controller->service->dao,一些不影响主业务逻辑的方法(事物,异常,日志)叫做横切问题,面向切面编程关注执行的时机和执行的顺序。
- 切面如何理解:
- join point、point cut(连接点的集合)、target object(原来的对象)、proxy object(增强后的对象)、advise 增强的逻辑和增强的时机
- 上述概念出现的那个类叫做切面
- @Pointcut注解放在方法上,因为粒度不能放在类上,就放在方法上了。(excution)描述方法,(within)描述到类,(args)描述参数,(annotation),(this)
- 自定义注解
- spring framework
- 官网中 features 重要
- reactive 技术栈
- servlet 技术栈
- 环绕通知?
- around 可以对参数进行修改。
- 什么叫做aop?
- 源码
- spring aop原理
- spring ioc和aop有什么关系
- aop一定要放在ioc中
- 目标对象什么时候被代理?
- 初始化的时候
- 目标对象去了哪里?
- spring ioc和aop有什么关系
- 如何看spring源码,调试源码
- 带着问题看源码
- 可以先认为某一些代码不用看,看它是否影响结果,影响再看。
- 为什么会直接进到这一行,是因为上一行代码就直接进入了这一行。
- spring中被实例化的单例对象基本都被存在Map中,getBean就是在一个concurrenthashmap中get一个对象。
- createBean –> doCreateBean创建Bean—>initialBean代理
- spring ioc后置处理器
- jdk动态代理面试题目
- jdk目标对象target object 和代理对象proxy object之间一定有一个转换的地方,就是getSingletion中的匿名方法实现了createBean()来创建原始对象和代理对象。
- BeanDefination包含了class类型,通过反射得到一个对象
- lookup-method 是ioc的知识。
- spring aop原理
- 微服务 spring cloud 框架分析
- bean是什么?
- 不要用低段位端口,容易和本身的http端口冲突,从1000开始用。
- 负载均衡 nginx 没有消息是最好的消息 反向代理,用一个server的映射解决负载均衡。服务器端的负载均衡。upstream backser 反向代理。nginx不适于微服务的负载均衡。spring cloud中的负载均衡使用的是ribbon,在User service中加@LoadBalance就行。非常简单的一句。Nginx不能实现多种类型的微服务一起用。
- spring cloud eureka
- spring bean的生命周期
- spring-framework 在github上下载源码,在源码上开发,
- 什么是spring
- spring是一个公司,有许多项目。
- 如何产生一个spring bean 和销毁一个spring bean
- spring 中有一个工厂,产生bean的。
- spring扫描,通过一个for循环,拿到很多类,解析类的名字。
- 懒加载,@lazy注释
- 过程:有一个beanDefinition,放入单例池,invokeBeanFactoryPostProccessors.
- 扫描类,beanFactoryMap
鲁班学院java高级课程大纲
- 编程开发
- 分布式netty
- mybatis
- tomcat
- spring
- spring boot
- 并发编程框架akka
- spring webflux
- jdk新特性
- 运维部署
- 项目架构
- 性能调优
- 项目实战