zheng
一. zheng的启动顺序
- ZhengCmsRpcServiceApplication.main
- ZhengUpmsRpcServiceApplication.main
- zheng-upms-server(jetty)
- zheng-cms-admin(jetty)
二、权限管理系统
1 | ├── zheng-upms -- 用户权限管理系统 |
三、Example实体类
mybatis-generator自动生成实体类会生成Example实体类,方便查询。具体使用可以参考:
四、lombok包的使用
lombok的可以对POJO进行很多封装,减少了很多重复性代码的书写,常用注解有:
- @Getter
- @Setter
- @Builder
- @Data
- @ToString
五、filter和interceptor之间的区别
拦截器是AOP( Aspect-Oriented Programming)的一种实现,底层通过动态代理模式完成。
区别:
- 拦截器是基于java的反射机制的,而过滤器是基于函数回调。
- 拦截器不依赖于servlet容器,而过滤器依赖于servlet容器。
- 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
- 拦截器可以访问action上下文、值栈里的对象,而过滤器不能。
- 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。
两者的本质区别:从灵活性上说拦截器功能更强大些,Filter能做的事情,他都能做,而且可以在请求前,请求后执行,比较灵活。Filter主要是针对URL地址做一个编码的事情、过滤掉没用的参数、安全校验(比较泛的,比如登录不登录之类),太细的话,还是建议用interceptor。不过还是根据不同情况选择合适的。
六、sso
七、为什么登陆cms的后台,验证之后跳转到upms的后台
因为cms后台就是redirect到upms后台的
八、ehcache
九、关于分布式
可以把分布式系统看做一个以系统,他的应用是因为现在服务系统的计算越来越大,利用分散的主机分散大量请求的处理。
但是很多的东西却因为分散导致了数据不一致,比如session、比如cache,所以又需要集中处理,集中处理常见的有一个集中服务提供一致性保证,比如利用的redis,但是需要网络IO处理,这样又损耗了一定的性能