LOADING

加载过慢请开启缓存 浏览器默认开启

Springboot

Springboot的优点

  1. 内置servlet容器,不需要在服务器端部署tomcat,jetty等容器。只需要将项目打包成jar包,通过java -jar命令就可以运行项目。
  2. SpringBoot提供了strater依赖,可以快速的集成第三方框架,简化了项目的配置。
  3. 可以快速创建独立运行的Spring项目,并且可以通过maven和gradle来构建项目。
  4. 准生产环境的应用监控。

javaweb,spring,springmvc,springboot的区别

  1. javaweb是一种基于java语言实现的web开发技术,包括servlet,jsp,filter,listener等技术。
  2. Spring是一个轻量级的开源开发框架,主要用于管理Java应用程序中的组件和对象,并提供各种服务,如事务管理,安全性,持久性,远程访问等。是一个综合性的框架,可以用于所有类型的Java应用程序。
  3. SpringMVC是Spring框架的一个模块,主要用于开发web应用程序,是一个基于MVC设计模型的请求驱动类型的轻量级Web框架。将请求和响应的控制器分离开来,使得系统耦合性大大降低,而且扩展性很好。
  4. SpringBoot是Spring框架的一个子项目,主要用于快速创建独立运行的Spring项目,简化了项目的配置,提供了各种开箱即用的功能,如内置servlet容器,安全性,事务管理等。

Springboot常用的Starter

  1. spring-boot-starter-web:web应用程序,包含Tomcat和Spring MVC。
  2. spring-boot-starter-test:测试,包含JUnit,Hamcrest,Mockito。
  3. spring-boot-starter-data-jpa:JPA数据访问,包含Hibernate,Spring Data JPA,Spring ORMs。
  4. spring-boot-starter-data-redis:Redis键值存储,包含Spring Data Redis。
  5. spring-boot-starter-security:认证和授权,包含Spring Security。
  6. mybatis-spring-boot-starter:MyBatis访问数据库,包含MyBatis和MyBatis-Spring。

springboot的核心注解

@SpringBootApplication:SpringBoot应用的入口,主要用于开启自动配置。主要组合了@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解。
@Configuration:标注当前类是一个配置类,相当于一个Spring配置的xml文件。
@EnableAutoConfiguration:开启自动配置,让SpringBoot根据类路径下的jar包依赖为当前项目进行自动配置。
@ComponentScan:Spring组件扫描,主要用于扫描注解类。

Yaml相比于properties的优点

  1. 层级更清晰,相同层级的元素之间用空格进行缩进表示层级关系,从而使得配置文件更加简洁,更加易读。
  2. 支持多种数据结构,Yaml支持列表,字典等数据结构,而properties只支持单一的key=value的数据结构。

缺点:不支持@PropertySource注解,不支持占位符。

Spring profile

Spring profile是Spring框架中的一个功能,可以根据不同的环境配置不同的bean。比如开发环境和生产环境的数据库配置是不同的,可以通过Spring profile来实现。

SpringBoot多数据源事务管理

  1. 在service层的方法上添加@TransactionManager中使用的事务管理器,比如@Transactional(transactionManager = “test1TransactionManager”)。
  2. 使用jta-atomikos来实现分布式事务管理。

Springboot打成的jar和普通jar的区别

  1. 普通jar包是一个库,只能被其他项目依赖,不能直接运行。SpringBoot打成的jar包是一个应用,可以直接运行。
  2. SpringBoot打成的jar包无法被其他项目依赖,因为SpringBoot打成的jar包中的依赖都是打包到一个BOOT-INF/lib目录下的,而普通jar包中的依赖都是打包到一个lib目录下的。

SpringBoot多数据源拆分的思路

先在properties中配置多个数据源,创建分包mapper,使用@ConfigurationProperties(prefix = “spring.datasource.test1”)注解来指定数据源,使用@MapperScan(basePackages = “com.example.demo.mapper.test1”, sqlSessionTemplateRef = “test1SqlSessionTemplate”)注解来指定mapper接口所在的包,使用@Primary注解来指定主数据源。

本文作者:GWB
当前时间:2023-11-09 11:11:39
版权声明:本文由gwb原创,本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议。
转载请注明出处!