소스 검색

更新 'javalearning.md'

添加依赖注入相关内容以及排版修改
丁绍成 7 년 전
부모
커밋
7e15dcb89e
1개의 변경된 파일22개의 추가작업 그리고 17개의 파일을 삭제
  1. 22 17
      javalearning.md

+ 22 - 17
javalearning.md

@@ -4,59 +4,64 @@
 # ide:
 ## ideaj:
 - 下载地址:https://www.jetbrains.com/idea/
-- 安装
+- 安装:
+    1. 将下载好的安装包安装好
+    2. 配置激活服务器,[idea激活方式](http://blog.lanyus.com)
+    3. 打开idea,激活窗口选择license server,地址配置为步骤二设置的地址,然后激活
 
 # springboot
 
-> 和.net mvc 相似点:
+- 和.net mvc 相似点:
+
 ```
 1、Chain相当于.net中的Middleware(非core项目参考自host项目的owin) (有个好听的名字:洋葱模型-->请求一层一层进去,再一层一层出来)
 2、Interceptor相当于.net中的Filter
 3、路由这块和webapi一样用,但是大小写敏感
 4、注解类似于特性
 ```
-> 依赖注入
+- 依赖注入
+
 ```
-类上加上@Service,@Component,生命周期默认为singleton,也可通过@Scope指定
+类上加上@Service,@Component,生命周期默认为singleton,也可通过@Scope指定,但是和.net不同,这里面singleton的组件会在服务初始化的时候就创建起来缓存掉,从某种意义上来说是一种饿汉模式,而.net相反,第一次用到的时候才会创建,属于懒汉模式。java这样可以解决一个问题,初始化的时候就可以检查到是否有singleton实例引用了其他非Transit或者singleton的实例导致实例释放导致singleton实例部分功能不可用,还有一种依赖注入的方式是@Bean注解,这个注解表示这个方法的返回值就会作为实例,使用的时候通过@Autowired注解或者@Resource注解就可以实现属性注入,或者通过构造函数来注入
 ```
-> 一次请求的生命周期
+- 一次请求的生命周期
 
-> 各种初始化
+- 各种初始化
 
 # springcloud
 [史上最简单的 SpringCloud 教程](https://github.com/forezp/SpringCloudLearning)
 
-> 服务注册与发现
->> eureka:[关于eureka的p2p通讯](https://hacpai.com/article/1498726165535)
+- 服务注册与发现
+> eureka:[关于eureka的p2p通讯](https://hacpai.com/article/1498726165535)
 ```
 1、无中心化的注册中心
 2、集群采用p2p的方式,server和server之间互相作为client注册
 3、client定时和server保持心跳,并同步数据
 ```
->> zookeeper:
+> zookeeper:
 ```
 1、一个leader节点,其余都是follower,走的Paxos协议来选举以及同步各个节点数据
 2、只有leader接受更新操作,然后会同步更新到各个follower节点上
 ```
 
-> 服务消费者
+- 服务消费者
 ```
 1、消费者不断会和eureka保持心跳,并且从eureka获取注册的服务提供者们
 2、由于一个服务的服务者可能不止一个,所以需要一个负载均衡的策略来均匀路由到每一个服务提供者,所以这就有了客户端负载均衡库ribbon
 3、由于eureka是定时心跳,所以如果一个服务节点挂了,依然是可以访问到的,所以为了解决这个问题,下面的断路器就有用武之地了,可以认为eureka+ribbon就需要使用hystricx断路器来保证请求不出问题
 ```
 
-> 断路器
->> hystricx:Netflix出品
+- 断路器
+> hystricx:Netflix出品
 
-> 配置中心
->> 基于zookeeper的配置中心
+- 配置中心
+> 基于zookeeper的配置中心
 
->> springconfig
+- springconfig
 
-> 健康检查
+- 健康检查
 
-> 链路
+- 链路
 
 # db