- 博客(16)
- 收藏
- 关注
原创 springboot-web开发 创建外置tomcat项目
springboot项目自动配置的嵌入式tomcat,默认是不支持JSP的,所以我们创建项目时需要用自己安装的tomcat来支持JSP,下面讲解一下如何用eclipse搭建外置tomcat的springboot-web项目首先,使用STS创建一个springboot-web项目这个地方packaging一定要选择war,外置tomcat支持的是war包运行模式,然后添加web应用依赖,...
2019-08-18 15:58:59 403
原创 springboot-web开发嵌入式servlet容器自动配置原理和启动原理
一、servlet自动配置原理servlet自动配置是EmbeddedServletContainerAutoConfiguration,我们以tomcat容器来分析一下这个类代码@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Configuration@ConditionalOnWebApplication自动导入BeanPostP...
2019-08-18 14:01:14 328
原创 springboot-web开发servlet容器的默认配置修改方式、切换其他servlet容器
servlet的默认配置修改方式有两种,第一直接在application.properties中修改,第二是注bean组件EmbeddedServletContainerCustomizer重写类里的方法即可,这个类可以修改不同servlet容器的公共配置,比如端口字符编码等等,我们先看一下类EmbeddedServletContainerCustomizer,如果同时设置配置文件和注册bean组...
2019-08-15 22:59:54 742
原创 springboot-web开发注册servlet三大组件
servlet三大组件分别是servlet、Filter、Listener,分别需要注册ServletRegistrationBean,FilterRegistrationBean,ServletListenerRegistrationBean,传统的web项目,这些组件的注册是在web.xml,springboot中Java代码注册组件,在web.xml可以修改的属性在这些bean组件中通通可以...
2019-08-15 22:20:00 295
原创 springboot-web开发错误自动配置原理、自定义错误页面和JSON数据
一、错误自动处理原理springboot的错误处理自动配置类是ErrorMvcAutoConfiguration,我们请求发生错误时,如果是浏览器请求则返回html页面,如果是客户端请求则返回JSON数据,下面我们来看看是如何处理,类ErrorMvcAutoConfiguration代码如下public class ErrorMvcAutoConfiguration { @Bean ...
2019-08-14 22:45:29 246
原创 springboot-web国际化配置讲解
springboot项目创建时给我们自动配置了国际化配置,类MessageSourceAutoConfiguration就是自动配置国际化信息,其中有一段代码是获取国际化资源,代码如下@Bean @ConfigurationProperties(prefix = "spring.messages") public MessageSourceProperties messageSource...
2019-08-11 01:01:54 242
原创 SpringBoot的web开发springMVC默认自动配置、扩展、全面接管springMVC
一、springMVC默认自动配置我截取了springboot官方文档对springMVC的默认自动配置,如下图1.配置了对index.html的支持,任何请求只要没有处理的都会转到这个欢迎页面2.配置了Favicon.ico3.配置了支持静态资源和webjars的访问我在前一篇文章springboot的静态资源映射规则已经详细介绍过了https://blog.csdn.n...
2019-08-08 22:04:53 332
原创 springboot开发web项目静态资源映射规则
创建springboot项目自动导入web应用时,会自动导入WebMvcAutoConfiguration(在autoconfigure.jar中找到),其中有个添加静态资源的方法addResourceHandlers,代码如下如果我们以jar包的形式导入静态资源,所有/webjars/**请求,都去classpath:/META-INF/resources/webjars/下找资源,以j...
2019-08-06 22:22:25 290
原创 深入理解springboot日志框架
一、springboot默认日志框架我们先查看一下springboot项目的日志jar包依赖可以看出来boot项目默认使用的日志框架是logback,日志门面接口是slf4j,我们在项目中使用的是slf4j日志,底层的实现是可以自由选择的,比如log4j,java.util.logging,appache-commons-logging,使用统一的日志接口,这样项目切换日志架构就比较...
2019-08-05 22:46:26 328
原创 深入了解springboot自动配置原理
springboot的精髓是自动配置,在之前的文章中我通过helloworld的例子分析了springboot启动时是如何加载自动配置类,加载了哪些配置类,这次我们来深入了解一下自动配置的类是如何生效的,并且在yaml中可以配置哪些属性。找到spring-boot-autoconfigure.jar中的META-INF下的spring.factories,其中属性EnableAutoConfi...
2019-08-04 22:21:58 127
原创 配置文件的加载顺序
springboot启动时加载的application.properties文件位置不同,加载的顺序也是不一样的,并且从上至下读取配置的时候,是存在相同的则优先级高的覆盖优先级低的,存在不相同的属性则互补我们创建这样一个项目,配置文件分别在项目路径的config文件下、项目路径下、类路径的config文件下、类路径下,这四个文件的优先级从高到低是项目路径的config文件下 >...
2019-08-02 23:21:54 458
原创 springboot配置文件占位符和profile多环境支持
一、占位符的使用#配置文件占位符,${},没有值可以用冒号指定默认值 ,键与值之间不需要空格person: name: ${person.hello:zhangsan} age: ${random.int}spring boot配置文件中可以使用占位符取配置文件中其他属性,也可以指定默认值,可以使用随机数${random.value}、${random.int}、${ra...
2019-08-02 22:35:27 395
原创 @PropertySource、@ImportResource、@Configuration、@Bean的使用
@PropertySource:加载指定的配置文件,配置放在application.yaml中会越堆越多,可以拆开分类,使用该标签引入@ImportResource:导入spring的配置文件,让文件中的内容生效,自定义的文件不会加载到spring中管理,容器初始化时会解析import标签@Configuration:声明这个类是个配置文件@Bean:声明这个方法或类是一个bean组件...
2019-08-02 00:02:41 118
原创 @ConfigurationProperties和@Value区别
@ConfigurationProperties @value 功能 批量注入配置文件中的属性 一个个指定 松散绑定(松散语法) 支持 不支持 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型封装 支持 不支持 如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使...
2019-08-01 22:20:59 112
原创 yaml常用语法和属性获取
spring boot支持application.yaml,文件的名称是固定的,下面我们看看常用语法一、基本语法 key:(空格)value 表示一对键值对,空格必须有,同时对大小写也是敏感的,以空格的缩进来表示层级关系,左对齐代表同一层级的属性,缩进时不可使用Tab键,只能使用空格,只要左对齐,空格多少无所谓二、值的写法 key: value 字面量直接书写,字符串默...
2019-08-01 21:59:26 684
原创 SpringBoot自动配置原理
boot项目创建时需要创建一个主程序类并且加上@SpringBootApplication就可以独立运行,是因为其自动导入了Tomcat,那它是怎么导进去的呢,咱们进入注解@SpringBootApplication看看其中注解@SpringBootConfiguration是SpringBoot的注解,声明这个类是个配置类,和Spring的@Configuration是一个作用;@...
2019-08-01 00:06:50 94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人