抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial EurekaNetfilx在设计Eureka的时候遵守的就是AP原则,Eureka是一个Netfix的子模块, 也是核心模块之一,Eureka是一个基于REST的服务,用于实现云端中间层服务发现和故...

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 架构约定 > 配置 > 编码先写pom,xml,yml,sql,然后写dao,写Mapper,Service,Controller 起步用上面的方法建立一个Restful风格的服务端生产...

入门资料

中文文档
官方文档
中文文档
社区
嘿嘿

微服务于微服务架构

微服务强调服务的大小,他关注某一个点,一个模块只做一种事情
微服务架构通常而言,他提倡将单一的程序划分为一组小的服务,每个服务运行在独立的进程中,采用轻量级的通信机制 doubbo是rpc,springcloud是restful

如何编写

理清依赖

自动配置

@Configuration 指定这个是配置类
@ConditionalOnxxx 在某些条件下才生效
@AutoConfigureAfter 指定自动配置类的顺序
@Bean 给IOC加组件
@ConfiguretionProperties 结合相关的xxxProperties配置类来绑定配置
@EnableConfigurationProperties 让xxxProperties生效加入到容器中
讲自动配置类配置在META-INF/spring.factories中

启动配置原理

几个重要的事件回调机制

  • ApplicationContextInitializer
  • SpringApplicationRunListener
  • ApplicationRunner
  • CommandLineRunner

启动流程

1
return new SpringApplication(primarySources).run(args);
  • 创建SpringApplication对象
  • 运行run方法

创建对象

现在左边的参数是null

1
2
3
4
5
6
7
8
9
10
11
12
public SpringApplication(Class<?>... primarySources) {
this(null, primarySources);
}
public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) {
this.resourceLoader = resourceLoader;
Assert.notNull(primarySources, "PrimarySources must not be null");
this.primarySources = new LinkedHashSet<>(Arrays.asList(primarySources));
this.webApplicationType = WebApplicationType.deduceFromClasspath();
setInitializers((Collection) getSpringFactoriesInstances(ApplicationContextInitializer.class));
setListeners((Collection) getSpringFactoriesInstances(ApplicationListener.class));
this.mainApplicationClass = deduceMainApplicationClass();
}

创建项目

选择MySQL+JDBC+Web

链接数据库

1
2
3
4
5
6
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/jdbc
driver-class-name: com.mysql.jdbc.Driver

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 拦截器拦截器是SpringMVC框架自己的,只用SpringMVC才能使用拦截器只会拦截访问的控制方法,静态资源是不会拦截的 定义拦截器实现HandlerInterceptor其实只要使用preHa...

整合

  • 创建数据库
  • 导入依赖
  • 建立基本结构和配置框架
  • 编写MyBatis.xml
  • 编写Spring-dao.xml
  • 编写Spring-service.xml
  • 编写web.xml
  • 编写Spring-mvc.xml
  • 编写applicationContext.xml

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial JDBC的优化和封装 (1) 使用数据库连接池对连接进行管理(2) SQL语句统一存放到配置文件(3) SQL语句变量和传入参数的映射以及动态SQL(4) 动态SQL语句的处理(5) 对数据库操作结...