File->New->New Project->Spring Initializr
Web
2.1.1
本地访问地址:http://localhost:8080/
新建一个 Project, 系统都会帮我们创建一个名为 artifactId+Application
的入口类,这个类中有一个 main 方法,这个 main 方法就是一个标准的 Java 应用程序的入口方法。
<repositories>
<repository>
<id>cxx-mirror</id>
<name>cxx-mirror</name>
<url>http://xxx.com/maven/</url>
</repository>
</repositories>
src->main->resources
新建一个banner.txt
文件。http://patorjk.com/software/taag
网站生成需要的字符,将字符拷贝到步骤1所创建的 txt 文档中Spring Boot使用一个全局的配置文件 application.properties
或者 application.yml
,配置文件放在 src/main/resources
目录下。properties
是我们常见的一种配置文件,Spring Boot不仅支持properties
这种类型的配置文件,也支持yaml
语言的配置文件。
目前项目中,常用 application.yml
这样的配置文件。
中文不做特殊处理会乱码:
Tomcat默认端口是8080,我将之改为8081,默认访问路径是http://localhost:8080
,我将之改为http://localhost:8081/helloboot
可以在 application.yml
中添加:
server:
port: 8081
同样,在 application.properties
文件中添加如下代码:
server.servlet.context-path=/helloboot
server.port=8081
默认情况下Spring Boot使用Logback作为日志框架,也就是我们前面几篇博客中用到的打印日志方式,当然如果有需要我们可以手动配置日志级别以及日志输出位置,相比于我们在Spring容器中写的日志输出代码,这里的配置简直就是小儿科了,只需要在application.properties中添加如下代码:
server:
servlet:
context-path: /helloboot
book:
author: 罗贯中
name: 三国演义
pinyin: sanguoyanyi
spring:
profiles:
active: prod
jackson:
time-zone: Asia/Hong_Kong
date-format: yyyy-MM-dd HH:mm:ss
serialization:
write_dates_as_timestamps: false
# 日志配置参考 https://www.jianshu.com/p/1fa12b92d5c4
logging:
level:
root: WARN
org:
springframework:
security: DEBUG
web: ERROR
hibernate: DEBUG
apache:
commons:
dbcp2: DEBUG
com:
example:
demo: DEBUG
# logging.file属性用来定义文件名,不仅仅可以配置文件名,也可以路径+文件名。
# 相对路径,相对项目根路径
# 绝对路径
file: D:/00-Temp/Java/logs/demo/michale-demo.log
pattern:
# 设置logging.patter.console属性我们能改变输出到console的日志样式
console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
# 改变文件中的日志样式我们需要设置logging.pattern.file属性
file: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
# 我们可以通过命令行使能DEBUG ,TRACE级别的日志输出,效果是跟配置文件一样的
debug: true
trace: fasle
日志设置参考:
1.将 properties 属性和一个 Bean 关联在一起,这样使用起来会更加方便
resources->book.yml
:
book:
author: 曹雪芹
name: 红楼梦
price: 28
2.创建 Book Bean,并注入 properties 文件中的值
https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/html/configuration-metadata.html#configuration-metadata-annotation-processor
注意,BookBean 注解这么写:
//prefix是指前缀,location指定要注入文件的位置
@Component
@ConfigurationProperties(prefix = "book")
@PropertySource("classpath:book.yml")
在Spring Boot 中系统提供了更为简洁的方式。全局Profile配置我们使用application-{profile}.properties来定义,然后在application.properties中通过spring.profiles.active来指定使用哪个Profile
1.在src/main/resources
文件夹下定义不同环境下的Profile配置文件,文件名分别为:
application-prod.properties
application-dev.properties
这两个前者表示生产环境下的配置,后者表示开发环境下的配置,如下:
server.port=8081 # application-prod.properties:
server.port=8080 # application-dev.properties:
然后在application.properties
中进行简单配置,如下:
spring.profiles.active=dev
artifactId+Application
的入口类,这个类中有一个main
方法,这个main
方法就是一个标准的Java
应用程序的入口方法。@SpringBootApplication
其实是一个组合注解。
唯一要注意的是如果我们使用了@SpringBootApplication注解的话,系统会去入口类的同级包以及下级包中去扫描实体类,因此我们建议入口类的位置在groupId+arctifactID组合的包名下。
如果我们只想要@SpringBootApplication
去扫描特定的类而不是全部类,那么就可以关闭自动配置,如下:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
Spring Boot 工程基础使用:
原文:https://www.cnblogs.com/michael-xiang/p/10466950.html