源码下载:https://u11556602.ctfile.com/fs/11556602-361219278
https://download.csdn.net/download/qq_36267875/11089023
在之前已经基本上了解了整个springboot运行机制,但是也需要清除的认识到以下的问题,在实际的项目开发之中,尤其是Java的mvc版的项目里面,所有的项目都一定需要满足如下几点要求:
1.访问的端口不能够是8080,应该使用默认的80端口;
2.在项目之中为了方便进行数据的维护,建议建立一系列的*.properties配置文件,例如:提示消息,跳转路径;
3.所有的控制器现在都采用了rest风格输出,但是正常来讲,信息的显示应该交给页面(不再是jsp)负责完成;
4.在进行项目打包的时候应该考虑到不同的profile配置。
2.1 改变环境属性
通过当前的执行可以发现,默认清空下,在springboot里面启动web容器为tomcat:
2019-04-07 10:18:56.464 INFO 7324 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2019-04-07 10:18:56.526 INFO 7324 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2019-04-07 10:18:56.531 INFO 7324 --- [ restartedMain] cn.mldn.microboot.StartSpringBootMain : Started StartSpringBootMain in 3.142 seconds (JVM running for 3.7)
从实际的开发来讲,我们的web部署项目如果是单独运行不可能运行在8080的端口上。从正常来讲我们的服务器应该运行在80端口上,所以如果要想修改这样的默认环境,则必须编写与之对应的配置文件,该配置文件一定要写在classpath之中,例如:项目中的"src/main/resources"就是一个classpath路径,那么在这个目录之中直接创建有一个application.properties(文件名称绝对不要改变)。
项目上右键 properties
设置resources为源文件目录
范例:定义application.properties配置文件
#设置tomcat的运行服务所在端口
server.port=80
重新启动之后已经变成了80端口了
2019-04-07 12:38:41.210 INFO 11436 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2019-04-07 12:38:41.257 INFO 11436 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2019-04-07 12:38:41.261 INFO 11436 --- [ restartedMain] cn.mldn.microboot.StartSpringBootMain : Started StartSpringBootMain in 2.429 seconds (JVM running for 2.827)
范例:如果有需要也可以配置contextPath的信息
#设置tomcat的运行服务所在端口
server.port=80
# 可以配置ContextPath访问路径,但是在实际开发之中是不能够进行配置的
server.context-path=/hello
此时的访问路径需要追加contextPath前缀:http://localhost/hello/;
严格来讲在springboot,springcloud里面可以使用两类配置文件:application.properties application.yml
yaml文件:
这是一种结构化的数据文件,其在很多的地方上都使用过,例如:apache storm 开发组件上进行配置的时候使用就是yml的配置文件,该配置文件的全称'YAML Ain't a Markup Language' 仍然是一种标记语言。
范例:定义application.yml配置文件
server:
port: 80 #此处设置的服务的访问端口配置
无聊的测试:如果application.properties和application.yml两个文件同时存在,使用哪个?
那么这个时候将优先进行application.properties配置文件的加载,如果现在两个配置项的作用冲突了,则以properties为主,如果不冲突,则以存在的为主。
application.properties
server.port=8080
application.yml
server:
port: 80 #此处设置的服务的访问端口配置
context-path: /mldn
在之前默认使用的web容器是tomcat容器,实际上在springboot里面如果用户有需要也可以将容器更换为jetty容器,如果现在想要使用这个容器则需要追加一些依赖即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
如果在以后项目以微服务的方式进行打包发布的时候,强烈建议大家使用jetty服务进行发布。
2019-04-07 12:39:47.425 INFO 12128 --- [ restartedMain] o.e.jetty.server.AbstractConnector : Started ServerConnector@77c45f6c{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2019-04-07 12:39:47.425 INFO 12128 --- [ restartedMain] .s.b.c.e.j.JettyEmbeddedServletContainer : Jetty started on port(s) 8080 (http/1.1)
2019-04-07 12:39:47.429 INFO 12128 --- [ restartedMain] cn.mldn.microboot.StartSpringBootMain : Started StartSpringBootMain in 2.663 seconds (JVM running for 3.048)