一、应用日志和Spring—boot—starter—logging

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
</dependency>

 在maven中添加了如上依赖,在SpringBoot启动时,应用将自动使用logback作为应用日志框架。如果需要进行配置调整,可以使用如下方法:

1)遵循logback约定,在classpath中使用自己定制的logback.xml配置文件,然后通过logging.config配置项指向这个配置文件来启用它,比如在application.properties中指定如下配置:logging.config=/{some.path.you.defined}/any-logfile-name-I-like.log

 

如果你更习惯使用log4j或者log4j2,那么在maven中添加相应的依赖模块即可。

SpringBoot揭秘学习笔记-04了解纷杂的Spring—boot—starter

二、快速web应用开发与Spring—boot—starter—web

SpringBoot揭秘学习笔记-04了解纷杂的Spring—boot—starter

 

1.项目结构层面的约定

项目结构层面与传统打war包的javaweb应用相比差异主要是:静态文件和页面模板的存放位置发生了变化。原来放在src/main/webapp目录下的一系列资源,现在都统一放在src/main/resource目录下:

①:src/main/resource/static用于存放各种静态资源,如css,js等

②:src/main/resource/templates用于存放模板文件,比如*.vm

 

2.SpringMvc框架层面的约定和定制

spring-boot-starter-web默认配置如下一些SpringMVC必要的组件:

①:必要的ViewResolver(视图解析器),比如ContentNegotiatingViewResolver和BeanNameViewResolver。

②:将必要的Converter、GenericConverter和Formatter等bean注册到IOC容器中。

③:添加一系列的HttpMessageConverter以便支持对web请求和相应的类型转换。

④:自动配置和注册MessageCodesResover。

3.嵌入式web容器层面的约定和定制

spring-boot-starter-web默认使用嵌入式tomcat作为web容器对外提供HTTP服务,默认将使用8080端口对外监听和提供服务

1)如果不想使用默认的嵌入式Tomcat,那么可以选择引入spring-boot-starter-jetty或者spring-boot-starter-undertow替代。

2)如果不想使用默认的8080端口,可以通过配置项server.port使用自己指定的端口:server.port=9090

spring-boot-starter-web提供了很多以server.为前缀的配置项用于对嵌入式web容器提供配置,例如:

server.port

server.address

server.ssl.*

server.tomcat.*

如果以上还无法满足你的需求,可以选择自己定义一个嵌入式web容器。

三、数据访问与Spring—boot—starter—jdbc

如果我们没有配置DataSource,SpringBoot会为我们自动配置一个基于嵌入式数据库的DataSource,这种自动配置适合用于测试场景,对开发帮助不大。我们可以使用DataSource自动配置模块提供的配置参数进行配置。

SpringBoot揭秘学习笔记-04了解纷杂的Spring—boot—starter

 SpringBoot揭秘学习笔记-04了解纷杂的Spring—boot—starter

除了自动配置DataSource外,SpringBoot还会为我们自动配置JdbcTemplate、DataSourceTransactionmanager等关联设施。

如果配置多个数据源,就需要关掉SpringBoot默认提供的DataSource相关的自动配置。

SpringBoot揭秘学习笔记-04了解纷杂的Spring—boot—starter

四、Spring—boot—starter—aop及其使用场景说明

Spring—boot—starter—aop的自动配置行为由两部分内容组成:

1)位于spring-boot-autoconfigure的org.springframework.boot.autoconfiure.aop.AopAutoConfiguration提供@Configuration配置类和相应的配置项

2)Spring—boot—starter—aop模块自身提供了针对spring-aop   ,aspectjrt和aspectjweaver的依赖.

AopAutoConfiguration为我们提供了两个配置项,用来有限干预Aop相关配置:

①spring.aop.auto=false      关闭aop自动配置

②spring..aop.proxy-target-class=false    启用针对class而不是interface级别的aop代理

 

相关文章:

  • 2021-06-12
  • 2022-12-23
  • 2022-01-10
  • 2021-07-30
  • 2022-12-23
  • 2021-10-31
  • 2022-12-23
  • 2021-12-08
猜你喜欢
  • 2021-06-27
  • 2021-06-14
  • 2021-04-09
  • 2021-05-28
  • 2021-12-02
  • 2022-12-23
  • 2021-06-13
相关资源
相似解决方案