SpringBoot(1)

一、通过idea新建SpringBoot2项目

1、如下图所示,左侧菜单选中Spring Initializr,右侧选择Default,然后点击Next;

image.png

2、如下图所示,点击Next;

image.png

3、如下图所示,点击Next;

image.png

4、如下图所示,点击Finish;

image.png

5、如下图所示,项目在初始化,但是受限于网速,可能会很慢;

image.png

6、如下图所示,执行maven update:

image.png

7、项目初始化工程结构截图;

image.png

8、做一些个性化调整;

1)将properties切换成yml制式;

image.png

附注:yml加载顺序在properties之前,所以当两者制式文件共存时,重叠的配置会以properties文件中为准,因为后者加载覆盖前者加载。

2)设定端口号:

image.png

3)pom文件设定启动类位置;

image.png

<configuration>

<mainClass>启动类包名.启动类名(不带class后者)</mainClass>

</configuration>

4)如下图所示,新增HelloWorldController类,用于测试;RestController注解等同于Controller和ResponseBody标签结合

image.png

5)点击如下图所示,箭头即可启动;

image.png

6)浏览器截图;

image.png

在项目下resources文件下的static文件夹下放一个静态页,如下图所述:

image.png

浏览器效果如下图所示:

image.png

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)工程目录结构调整如下图所示;

image.png

9)启动图标修改,默认如下图所示;

image.png

修改方法,下面这个网站去生成字符画;

http://patorjk.com/software/taag/#p=display&f=Henry%203D&t=CC11001100%0A


| __ \ | | / ____| | |

| | | | __ _ | |_ __ _ | | ___ _ __ | |_ ___ _ __

| | | | / | | __| / _ | | | / _ \ | ' \ | | / _ \ | '|

| || | | (| | | | | (_| | | |____ | _/ | | | | | | | __/ | |

|_____/ _,| _| _,| _____| _| || || _| __| ||

在项目resources文件夹下,新建banner.txt,将上面网站生成的字符画,复制到到banner.txt中保存,启动项目即可看到。

image.png
image.png

扩展;

图案输入有以下几种模式,默认是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
image.png

生成ico图标文件,放到文件夹下,如下图所示:

image.png

启动项目浏览器效果如下图所示:

image.png

二、SpringBoot项目启动方式;

1)右击启动或点击idea右上角的启动按钮;

image.png

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。

image.png

内容分别如下:

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

启动看效果佐证,如下图所示:

image.png
image.png

在application.yml中切换到pro;

image.png
image.png

OK,符合预期。

2)打包后,通过cmd命令行进入到jar包目录下,执行命令:

java -jar *.jar --spring.profiles.active=dev

通过实践,符合预期。

properties文件获取bean乱码;


image.png
image.png
image.png
image.png
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容