SpringBoot在K8s下实现优雅停机
使用 kill -2 模拟关闭过程(不能使用kill -9,使用kill -9会立刻杀死进程,优雅停机不会起作用)。POM依赖:application.yml POST 请求 /actuator/shutdown 端点即可关闭应用,作用和 kill -2 相同,也可以实现优雅停机。
把待下线的服务优雅停机 Spring Boot 已经支持优雅停机。我们需要添加下面的配置,超时需要根据平时请求的耗时来定,可以稍微大一点也没关系。最后还有一个重要的K8S配置。
新建springboot项目 在pom.xml文件添加 注意:springboot自带的spring-boot-maven-plugin不要删,否则会找不到manifast文件。
我们使用的service type是NodePort,yaml里没有申明nodePort 所以k8s会默认创建一个nodePort (30000-40000),然后我们通过node ip 加 nodePort 就可以访问service。
13.SpringBoot如何定义多套不同的环境配置?
假设现在我们需要往返于两个运行环境: 开发环境 dev 和 测试环境 test 。Spring Boot 提供了一套多环境配置机制,称为: Profile-specific Properties ,可以将其理解为 环境相关配置文件 。
springboot application.properties 写多个配置文件的方法:文件编码 banner.charset= UTF-8 文件位置 banner.location= classpath:banner.txt 日志配置 日志配置文件的位置。
SpringBoot是Spring产品中一个新的子项目,致力于简便快捷地搭建基于Spring的独立可运行的应用。大多数的SpringBoot应用只需要非常少的Spring配置。
显然,前者支持松绑定的特性更强大,所以在实际开发中建议使用@ConfigurationProperties来读取自定义属性。
配置文件的作用:修改Spring Boot自动配置的默认值,SpringBoot在底层都给我们自动 配置好。
SpringBoot进阶之整合Shiro实现缓存和会话管理
启动项目,正常登录后关闭浏览器,再打开浏览器输入 http://localhost:8080/index ,这时候就可以直接访问index页面,不需要再登录了。
首先先创建springboot项目,此处不过多描述。
新增整合swagger2,因为之前整合了shiro,所以再访问swagger的时候总是被拦截导致无法访问,因此在ShiroConfiguration配置文件中,放开对swagger的拦截 新增CORS跨域配置。
首先我们创建一个Spring Boot x的项目,在application.properties配置文件中添加Redis的配置,Spring和Redis的整合可以参考我其他的文章,此处不再详解。我们设置服务端口server.port为8080端口用于启动第一个服务。
注解只是代码的简略写法,所以生效不生效要看代码有没有被执行。有没有被执行看的是配置,扫描范围内的注解就会被执行,跟你写在哪儿没有关系。
最近项目上要改造为Spring Boot,权限是本人使用的Shiro管理的。最快的办法是把Xml换成Java Config,但是配置也是不少。在网上查帖子也全是这样做的。
SpringBoot整合ORM开发框架MyBatis和JPA
1、在使用Spring整合ORM组件的过程中,为了达到简化的目的,往往会进行大量的配置。利用SpringBoot可以进一步实现配置的简化。SpringBoot整合MyBatis开发框架,MyBatis是一款常用并且配置极为简单的ORM开发框架。
2、国内的话一般Mybatis份额比较多,大部分原因是国内BAT导致的,因为早期阿里采用的是iBatis,优点:简单、学习成本低、易优化等等。老外喜欢JPA是因为OOP、DDD,他们认为写 SQL 不优雅。
3、MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。
4、mybatis支持由mybatis己实现。JPA是Java的标准。
5、整合数据库的orm框架:Mybatis(batis)、Hibernate、Jpa、Jdo等。缓存以及分布式缓存:Ecache、Memcached、Redis等。web框架:WebWok、StrutsSpringMvc等。远程调用的相关的服务框架:dubbo、webService等。