背景
我们的系统基本都是前后端分离架构,后端服务主要框架是基于java的spring boot,为了快速的构建新项目,将平时做后端的东西抽出一个开发脚手架。
技术栈
java 8
spring-boot 2.2.7.RELEASE
swagger 2.9.2
guava 29.0-jre
mybait.spring 1.3.2
HikariCP 3.2.0
xxl-job 2.1.0
lombok 1.18.0
Jedis 3.2.0
Elasticsearch 6.2.4
zookeeper client 4.3.0
项目
名称:spring-boot-seed
seed-client:常用的组件client
seed-common:通用类和util
seed-task:集成xxl-job做定时任务
seed-web:web后端服务,数据库mysql,可以用spring mybatis和spring data jpa两种方式操作数据库
小记录:
Springboot中bean的“构造”和“析构”顺序:
1. Bean instance is created
2. Bean properties are set
3. In case bean implements Aware interfaces - those implemented methods are invoked
4. BeanPostProcessor#postProcessBeforeInitialization methods of custom bean post-processors are invoked
5. Initialization callbacks are invoked in the following order:
5.1. @PostConstruct method is invoked
5.2. InitializingBean#afterPropertiesSet() method is invoked
5.3. @Bean#initMethod() method is invoked
Bean is fully initialized now.
6. BeanPostProcessor#postProcessAfterInitialization methods of custom post-processors are invoked are invoked.
7. Destruction callbacks are invoked in the following order:
7.1. @PreDestroy method is invoked
7.2. DisposableBean#destroy() method is invoked
7.3. @Bean#destroyMethod method is invoked