一、通过idea新建SpringBoot2项目
1、如下图所示,左侧菜单选中Spring Initializr,右侧选择Default,然后点击Next;
2、如下图所示,点击Next;
3、如下图所示,点击Next;
4、如下图所示,点击Finish;
5、如下图所示,项目在初始化,但是受限于网速,可能会很慢;
6、如下图所示,执行maven update:
7、项目初始化工程结构截图;
8、做一些个性化调整;
1)将properties切换成yml制式;
附注:yml加载顺序在properties之前,所以当两者制式文件共存时,重叠的配置会以properties文件中为准,因为后者加载覆盖前者加载。
2)设定端口号:
3)pom文件设定启动类位置;
<configuration>
<mainClass>启动类包名.启动类名(不带class后者)</mainClass>
</configuration>
4)如下图所示,新增HelloWorldController类,用于测试;RestController注解等同于Controller和ResponseBody标签结合
5)点击如下图所示,箭头即可启动;
6)浏览器截图;
在项目下resources文件下的static文件夹下放一个静态页,如下图所述:
浏览器效果如下图所示:
7)异常;
异常:This application has no explicit mapping for /error, so you are seeing this as a fallback.
分析:
出现这个异常说明了跳转页面的url无对应的值。
原因1:
Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包。
原因2:
spring-boot会自动加载启动类所在包下及其子包下的所有组件。
原因3:
在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题:
当pom文件下的spring-boot-starter-paren版本高时使用:
spring.mvc.view.prefix/spring.mvc.view.suffix
当pom文件下的spring-boot-starter-paren版本低时使用:
spring.view.prefix/spring.view.suffix
原因4:
控制器的URL路径书写问题
@RequestMapping(“xxxxxxxxxxxxxx”)
实际访问的路径与”xxx”不符合。
8)工程目录结构调整如下图所示;
9)启动图标修改,默认如下图所示;
修改方法,下面这个网站去生成字符画;
http://patorjk.com/software/taag/#p=display&f=Henry%203D&t=CC11001100%0A
| __ \ | | / ____| | |
| | | | __ _ | |_ __ _ | | ___ _ __ | |_ ___ _ __
| | | | / | | __| / _
| | | / _ \ | ' \ | | / _ \ | '|
| || | | (| | | | | (_| | | |____ | _/ | | | | | | | __/ | |
|_____/ _,| _| _,| _____| _| || || _| __| ||
在项目resources文件夹下,新建banner.txt,将上面网站生成的字符画,复制到到banner.txt中保存,启动项目即可看到。
扩展;
图案输入有以下几种模式,默认是CONSOLE的,即只打印到控制台,也可以输出到日志文件。
enum Mode {
/**
* Disable printing of the banner.
*/
OFF,
/**
* Print the banner to System.out.
*/
CONSOLE,
/**
* Print the banner to the log file.
*/
LOG
}
关闭图案:
@SpringBootApplicationpublic class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).bannerMode(Banner.Mode.OFF).run(args);
}
}
定制图案:
在classpath目录下创建banner.txt即可,把图案放入该文件就行,这是Spring Boot默认的图案位置,Spring Boot会自动加载该文件显示图案。网址在上面有,也可以自己搜索,很多类似的网站。
也可以使用图片,更详细的可以研究Banner接口及其子类,或者通过application配置文件来定制图案。
BANNER
banner.charset=UTF-8 # Banner file encoding.
banner.location=classpath:banner.txt # Banner file location.
banner.image.location=classpath:banner.gif # Banner image file location (jpg/png can also be used).
banner.image.width= # Width of the banner image in chars (default 76)
banner.image.height= # Height of the banner image in chars (default based on image height)
banner.image.margin= # Left hand image margin in chars (default 2)
banner.image.invert= # If images should be inverted for dark terminal themes (default false)
10)自定义ico图标;
在application.yml中增加配置如下:
端口号
server:
port: 8080
自定义图标
spring:
mvc:
favicon:
enabled: false
生成ico图标文件,放到文件夹下,如下图所示:
启动项目浏览器效果如下图所示:
二、SpringBoot项目启动方式;
1)右击启动或点击idea右上角的启动按钮;
2)利用maven启动;
cmd命令行进入到项目文件夹下,执行命令:
mvn spring-boot:rum
3)打包为jar包,在项目目录下执行命令mvn install;
cmd命令行进入到jar包目录,执行命令:
java -jar ***.jar
三、通过配置文件区分测试和生产环境;
1)定义三个配置文件,一为开发,application-dev.yml,一为生产,application-pro.yml,一为默认的配置文件application.yml。
内容分别如下:
application-dev.yml
server:
port: 8080
application-pro.yml
server:
port: 8081
application.yml
端口号
server:
port: 8080
自定义图标
spring:
mvc:
favicon:
enabled: false
profiles:
active: dev
启动看效果佐证,如下图所示:
在application.yml中切换到pro;
OK,符合预期。
2)打包后,通过cmd命令行进入到jar包目录下,执行命令:
java -jar *.jar --spring.profiles.active=dev
通过实践,符合预期。
properties文件获取bean乱码;