
spring-boot
文章平均质量分 82
spring-boot
crayon-shin-chan
这个作者很懒,什么都没留下…
展开
-
记一个Druid监控页面访问错误Sorry, you are not permitted to view this page.
1.简介druid监控页面本地访问没问题,但是远程访问有问题2.解决allow选项没有配置,这个选项可以为空字符串,但是不能不配置allow: ""原创 2020-10-24 17:46:02 · 2239 阅读 · 0 评论 -
spring boot源码解析之Bean定义加载器BeanDefinitionLoader
1.简介在spring boot启动流程中,有一步是在创建应用上下文后,准备上下文: /** * 准备上下文 * @param context * @param environment * @param listeners * @param applicationArguments * @param printedBanner */ private void prepareContext(ConfigurableApplicationContext con.原创 2020-10-01 10:47:29 · 265 阅读 · 0 评论 -
spring boot源码解析之SpringApplication启动流程
1.启动入口我们一般的启动Spring Boot应用方式为:@SpringBootApplicationpublic class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); }}这里使用静态方法启动,传入参数为启动类、命令行参数实际此处使用的是以下方法: pub..原创 2020-09-30 22:58:14 · 337 阅读 · 0 评论 -
spring boot小工具之PropertyMapper
1.简介可用于将值从提供的源映射到目标的实用程序。主要用于从* {@link ConfigurationProperties @ConfigurationProperties}映射到第三方类时提供帮助。可以根据谓词过滤值并根据需要调整值。2.将源属性映射到目标PropertyMapper map = PropertyMapper.get();map.from(source::getName) .to(destination::setName);from:参数为S..原创 2020-09-29 10:25:05 · 1389 阅读 · 0 评论 -
spring boot实战之logging日志配置
1.简介Spring Boot使用Commons Logging进行所有内部日志记录,但是使底层日志实现保持打开状态。提供了Java Util Logging,Log4J2和Logback的默认配置。在每种情况下,记录器都已预先配置为使用控制台输出,同时还提供可选文件输出。默认情况下,如果使用“starter”,则使用Logback进行日志记录。还包括适当的Logback路由,以确保使用Java Util Logging,Commons Logging,Log4J或SLF4J的从属.原创 2020-09-28 23:38:28 · 1555 阅读 · 0 评论 -
spring boot实战之外部配置、配置属性、属性注入
1.外部化配置Spring Boot使您可以外部化配置,以便可以在不同环境中使用相同的应用程序代码。您可以使用属性文件,YAML文件,环境变量和命令行参数来外部化配置。可以使用@Value批注将属性值直接注入到您的bean中,可以通过Spring的Environment抽象访问,也可以通过@ConfigurationProperties绑定到结构化对象。Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地覆盖值。 按以下顺序考虑属性:..原创 2020-09-28 19:09:22 · 345 阅读 · 0 评论 -
spring boot实战之集成JMX监控、JMX关闭应用
1.简介Java管理扩展(JMX)提供了监视和管理应用程序的标准机制。 Spring Boot将最合适的MBeanServer公开为ID为mbeanServer的bean。 带有Spring JMX注释(@ ManagedResource,@ ManagedAttribute或@ManagedOperation)的任何bean都可以使用它。如果您的平台提供了标准的MBeanServer,则Spring Boot将使用该标准,并在必要时默认使用VM MBeanServer。 如果所有操作均失败,则将创原创 2020-09-27 23:39:41 · 1803 阅读 · 0 评论 -
spring boot实战之集成spring-boot-devtools
1.简介Spring Boot包括一组额外的工具,这些工具可以使应用程序开发体验更加愉快。spring-boot-devtools模块可以包含在任何项目中,以提供其他开发时功能。要包括devtools支持,请将模块依赖项添加到您的构建中<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo原创 2020-09-26 19:03:08 · 942 阅读 · 0 评论 -
spring boot实战之集成druid-spring-boot-starter
1.简介druid-spring-boot-starter是druid数据库连接池的spring starter,里面包含了以下自动配置自动配置类 功能 DruidDataSourceAutoConfigure 配置数据源DruidDataSource DruidSpringAopConfiguration 配置spring bean的运行时监控切面 DruidStatViewServletConfiguration 配置监控界面servlet DruidWe原创 2020-09-17 12:29:05 · 1127 阅读 · 0 评论 -
spring boot实战之定制banner
1.简介spring boot启动时会打印一个banner,默认的为以下样式:可以通过将banner.txt文件添加到类路径或将spring.banner.location属性设置为此类文件的位置来更改启动时打印的banner。如果文件的编码不是UTF-8,则可以设置spring.banner.charset。除了文本文件之外,您还可以将banner.gif,banner.jpg或banner.png图像文件添加到类路径中,或设置spring.banner.image.location属原创 2020-09-12 21:49:35 · 305 阅读 · 0 评论 -
spring boot实战之配置文件使用随机属性值
源码地址:https://github.com/crayon-shin-chan/spring-boot-demo1.简介spring boot的配置文件有properties和yaml两种形式,配置文件的每个配置项都是键值对形式有时会需要使用一个随机值作为配置项的值,如随机端口等spring boot提供了配置项中随机值的功能2.实现number1: ${random.int}number2: ${random.long}number3: ${random.int..原创 2020-09-12 21:12:42 · 341 阅读 · 0 评论 -
spring boot实战之集成CommandLineRunner与ApplicationRunner启动后运行任务
1.简介spring boot为执行启动后运行任务提供了两个接口CommandLineRunner与ApplicationRunner这两个接口作用类似,只有参数不同2.实现这两个接口的实现比较简单,只需要将接口的实现类注册为Bean即可import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.ApplicationArguments;...原创 2020-09-12 20:24:20 · 354 阅读 · 0 评论 -
spring boot实战之集成ApplicationListener事件侦听器
1.简介spring框架提供了事件系统,由以下三个组件组成:2.实现spring boot集成事件侦听器非常简单,只需要配置一个实现了ApplicationListener的接口即可import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationEvent;import org.springframework.cont...原创 2020-09-12 20:00:53 · 273 阅读 · 0 评论 -
记一个FilterRegistrationBean注册失败问题
1.问题今天写了一个Filter注册,但是调试发现Filter并没有注册到Tomcat里@Bean public FilterRegistrationBean<ApplicationInitFilter> applicationFilterRegistration(){ FilterRegistrationBean<ApplicationInitFilter> registration = new FilterRegistrationBean();原创 2020-08-29 22:08:15 · 1982 阅读 · 0 评论 -
记一个spring缓存Cacheable注解key设置问题
spring的Cacheable注解用来设置缓存,其中的key属性为spel表达式,如果要设置常量,则需要用''包裹,如:@Cacheable(value = CacheConstant.APPLICATION,key = "'id_map'")此处的"'id_map'"代表key设置了一个常量,如果没有'',则会报错org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or fiel.原创 2020-08-12 22:37:38 · 6139 阅读 · 0 评论 -
记一个spring boot命令行参数不起作用问题
spring boot运行jar包时,可以从命令行传入参数如--server.port=8080 、--spring.profiles.active=prod等但是,如果spring启动时,没有在run方法中传入命令行参数,这个特性就不会起作用@SpringBootApplicationpublic class ProjectApplication { public static void main(String[] args) { SpringApplication原创 2020-08-03 14:15:38 · 947 阅读 · 1 评论 -
记一个gradle使用spring boot插件问题
gradle使用spring boot插件,apply plugin: 'org.springframework.boot',会导致原有java插件的jar任务不可用,代替的是bootJar任务因为spring boot的打包与java的打包机制不一样,但是打出来的jar包名称位置都是一样的,此时如果需要打原来的jar包,而不是spring boot的jar包,需要设置jar { enabled = true}启用jar任务,此时bootJar与jar两个任务都可用,分别用来打不同的原创 2020-08-03 12:20:14 · 1969 阅读 · 0 评论 -
spring源码解析spring-core之order排序
1.排序说明spring在执行很多逻辑时都需要对bean实例集合进行排序,根据指定的优先级执行逻辑,spring内排序有关的有以下类 org.springframework.core.Ordered:用于定义指定实例order值得接口 org.springframework.core.PriorityOrdered:用于定义指定实例order值,且优先级高于Ordered接口 org.springframework.core.OrderComparator:支持Or...原创 2020-07-31 00:07:58 · 1924 阅读 · 0 评论 -
spring boot实战之集成quartz调度任务
1.依赖/* gradle根项目构建文件 */buildscript { ext { /* spring boot版本 */ springBootVersion = '2.3.1.RELEASE' } repositories { maven{ /* 阿里云仓库 */ url 'http://maven.aliyun.com/nexus/content/groups/public'原创 2020-07-12 23:47:01 · 312 阅读 · 0 评论 -
spring boot data jpa实战之启用审计(Auditing)功能
1.介绍此审计功能的概念,即在实体(Entity)存入/更新数据库中时,使用实体监听器存储五个属性:创建时间 最后更改时间 创建人 最后更改人ID 实体版本此功能与Hibernate的数据审计功能有所不同,Hibernate提供的是各个版本数据的存储功能2.配置2.1引入依赖 compile('org.springframework.boot...原创 2020-05-06 19:30:56 · 1563 阅读 · 0 评论 -
spring boot实战之配置静态资源路径
1.SpringBoot配置文件spring: mvc: static-path-pattern: /** resources: static-locations: classpath:/static第一个指定的static-path-pattern为访问静态资源的路径,这个只能配置一个第二个static-locations指定静态资源在服务器上的位置cl...原创 2020-05-06 19:13:46 · 1535 阅读 · 0 评论 -
spring boot实战之集成H2数据库进行测试开发
1.介绍h2数据库有以下特点免费、开源、快速 嵌入式的数据库服务器,支持集群 提供JDBC、ODBC访问接口,提供基于浏览器的控制台管理程序 Java编写,可使用GCJ和IKVM.NET编译 短小精干的软件,1M左右。一般做开发测试时,如果没有现成的mysql或者oracle可用,可以使用h2数据库来做临时数据库2.Spring集成H2数据库2.1引入依赖co...原创 2020-05-06 19:01:25 · 544 阅读 · 0 评论 -
spring boot实战之集成swagger2
目前spring boot并没有集成swagger2的starter,需要手动配置集成一、引入依赖使用gradle引入依赖 compile('org.springframework.boot:spring-boot-starter-web:2.2.2.RELEASE') compile group: 'io.springfox', name: 'springfo...原创 2019-12-21 20:22:48 · 265 阅读 · 0 评论 -
spring boot源码解析之自动配置原理
一、首先要介绍的就是SpringBootApplication@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters =...原创 2019-11-11 21:58:47 · 231 阅读 · 0 评论 -
spring源码解析之工厂加载机制 spring.factories
1.工厂加载机制spring framework有一种工厂加载机制,即将实现类根据接口-实现类的关系放在配置文件中,然后一次获取指定接口的多个实例使用时多个实例同时使用2.spring.factories在spring boot的源码目录下有这样一份文件:spring-boot-source\spring-boot-project\spring-boot-autocon...原创 2019-07-05 14:41:38 · 2187 阅读 · 0 评论 -
spring-kafka生产者使用
1.依赖dependencies { compile('org.springframework.boot:spring-boot-starter-web') compile group: 'org.springframework.kafka', name: 'spring-kafka' compile group: 'org.apache.kafka', name: 'kafka-st...原创 2019-06-11 15:54:09 · 567 阅读 · 0 评论 -
spring-kafka消费者使用
1.依赖dependencies { compile('org.springframework.boot:spring-boot-starter-web') compile group: 'org.springframework.kafka', name: 'spring-kafka' compile group: 'org.apache.kafka', name: 'kafka-st...原创 2019-06-11 15:23:14 · 1824 阅读 · 1 评论 -
Spring for Apache Kafka 2.2.6 文档
1.前言Spring for Apache Kafka项目将核心Spring概念应用于基于Kafka的消息传递解决方案的开发。 我们提供“模板”作为发送消息的高级抽象。 我们还为消息驱动的POJO提供支持。2.什么是新的?2.1。 2.2以来的新功能2.1本节介绍从2.1版到2.2版所做的更改。2.1.1。 Kafka客户端版本此版本需要2.0.0 kafka-clients或更高...翻译 2019-06-11 10:32:09 · 1496 阅读 · 0 评论 -
spring boot集成Dubbo问题
项目地址:https://github.com/crayon-shin-chan/spring-boot-demo1.简单问题汇总服务返回的Pojo类必须实现Java序列化接口zookeeper的服务器版本必须高于客户端版本,否则会出现未实现异常本机启动多个provider端口号必须不同1.依赖问题consumer一般会使用spring-boot-starter-web依赖...原创 2019-02-24 19:37:56 · 311 阅读 · 0 评论 -
spring boot 2.0.3 Redis缓存配置
直接上码import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cache.Cache;import org.springframework.cache....原创 2018-08-21 19:55:54 · 1167 阅读 · 0 评论 -
spring boot实战之ELK日志配置
所谓ELK日志指的是:E:elasticsearch,用于存储日志L:logstash,用于收集日志,java项目中使用指定的appender将日志发送到logstash,它收集并且整理日志,然后发送到elasticsearchK:kibana,用于展示日志,从elasticsearch获取日志并展示出来spring-boot项目中,主要的配置在于logback-spring.xm...原创 2018-08-21 18:59:43 · 982 阅读 · 0 评论