主流框架小结

熟悉Spring、SpringMVC、SpringBoot、SpringCloud、Mybatis、Hibernate、Jpa等框架;

Spring框架:理念DI/IOC和AOP容器的框架

    Di;就是依赖注入,比如A类需要一个数据库Connection对象,Spring就会在需要的时候通过反射获得一个Connection,DI的方式两种:构造器或者set注入
	
    IOC:控制反转,这是spring的核心,
        用Spring来负责控制对象的生命周期和对象间的关系,总的来说,就是所有类控制对象的权限交给spring统一管理
 	
    AOP:面向切面编程,将业务逻辑松耦合,提高程序可重用性,相同的业务逻辑抽取,再切入到需要使用这段逻辑的模块中去.包含@ApsectJ注解新功能面,面内@Before @After 等 pointCut和joinput
复制代码
    @Aspect
public class AnnoationAspectJ {

   @Pointcut("execution(* com.bat.aspectJ.App.say(..))")
   public void joinPoint() {
   }
   @Before("joinPoint()")
   public void before() {
       System.out.println("切入前--------");
   }
   @After("joinPoint()")
   public void after() {
       System.out.println("切入后");
   }
}
复制代码
Spring MVC:为了降低jsp和javaBean的耦合
M就是模型,( bean dao)

V:视图,( 网页),

C:控制器,控制视图和模型的一,一对应  
    Service层通过spring的声明式事务操作DAO层,
复制代码

SpringBoot: 为了消除大量配置

	1.	web.xml 为了加载spring和spring mvc
	2.	配置数据库连接,和日志文件
	3.	配置对配置文件的读取,和注解支持
	4. 	mapper映射
复制代码
启动配置	
    用idea 启动spring initial创建工程,此时会生成启动类SpringBootApplication和空测试类SpringBootApplicationTests和Application.properties以及Pom.xml 

    值得注意:
1.@SpringBootApplication 直接代表三个注释(@Configuration、@EnableAutoConfiguration[根据jar包为项目进行自动配置]、@ComponentScan)

2.properties可以直接用yml替代	
    热部署注意:修改代码后及时重启boot,编译新代码
复制代码

	增加jsp支持
	
		1.	包括servlet依赖和tomcat支持
复制代码

		2.	jsp定向
复制代码

扫描二维码关注公众号,回复: 7017119 查看本文章
		3.	修改RestController的注解为Controller
复制代码

		4.	依照配置新建jsp文件

		5.	等待热部署刷新
复制代码

增加Mybastis支持

		1.	pom.xml
复制代码

        2.	yml增加配置
复制代码

3. 创建相关pojo实体类和Mapper映射

4. Controller调用

5. 写jsp收数据

6.重启boot 因为增加了依赖,热部署失效

	Spring Cloud: 基于spring
	
	boot设计的微服务规范,增强了上下文的一套快速构建分布式系统的一系列框架的有序集合.
复制代码

变革:

从单体架构[一个应用,一个数据库,一个web容器]到垂直架构[业务模块拆分]到服务架构SOA[服务之间用webservice或者dubbo治理] 再到微服务架构

微服务:一种软件架构风格,专注于单一责任和功能的小型功能区为基础,

1.大型系统需要服务拆分精细化,2.各个服务独立部署(多个docker实例),3.服务独立维护,4.服务治理要求高,

				组件协同微服务搭建:
					全览图:
复制代码

1.Eureka 服务的注册和发现,将服务连接起来
2.Hystrix 监控服务调用情况,和提供熔断机制
3.Hystrix dashboard,Turbine 监控熔断情况提供图形化展示
4.SpringCloudConfig 读取Git/SVN的配置,统一的配置文件中心
5.Spring CloudBus 通过和各个客户端通信,下发配置文件的自动refresh	
6.zurl 所有内外的资源请求,都通过网关转发,权限校验
7.Sleuth和Zipkin提供复杂的服务间调用跟踪关系.监控,并记录
复制代码

Mybatis

MyBatis 简介 MyBatis是基于java的持久层框架

为什么使用MyBatis

    传统的jdbc操作需要手动操作Connection Statement ResultSet,使用Mybatis,相比于Hiberhate,上手简单,适合经常的项目变化需求
复制代码

猜你喜欢

转载自juejin.im/post/5d52d6aee51d4561d044ccad