从零开始的Spring Boot学习【二】【自动装配(一)】

我们以前的web程序,是需要在webContext文件夹中配置web.xml,并且打成war包,然后部署到tomcat中。现在的Spring Boot很方便,内嵌了tomcat,上述的这些都不需要我们去做

我们现在写一个Controller,并且运行Java Application,然后在网址上输入:http://localhost:8080/helloSpringBoot

package com.example.demo.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloWorldController {
	@ResponseBody
	@RequestMapping("helloSpringBoot")
	public String helloworld() {
		return "hello world";
	}
}

在页面上就会输入一句话:

如果有得萌新不知道@Controller,@ResponseBody,@RequestMapping是什么意思,博主在这里给你们快速过一下。

@Controller:标记在一个类上,表示这是Spring类的一个实例且是一个控制器,为了保证Spring能找到它所要添加的信息。

@ResponseBody:将java对象转换为json格式的数据,大家都知道ajax,在jsp页面中,我们使用ajax从后台获取数据,接收的格式是json,而java后台则是生成一个java对象返回,所以我们需要中间的转换器,把对象转换为json。

@RequestMapping:你可以使用@RequestMapping注解来将请求URL映射到整个类上或某个特定的方法上,即既可以定义在类上,也可以定义方法上。

大家可以注意到我使用的是tomcat默认端口8080,Spring Boot【一】也讲过,我们有一个默认配置文件application.properties(其实还有另外一个,以后会讲,叫做application.yml),在这里我们可以修改默认的端口号,怎么操作?

在配置文件中我们输入server加上“.”,会有代码提示,里面有一个port,端口号,我们设置为8068,然后重新运行Spring Boot,就会发现原来的8080端口加载出的页面,现在已经无法显示,需要更改端口号为8068才可以显示出hello world。

我们要知其然,知其所以然。我们为什么在这里设置了server.port=8068,它的相关端口号就会进行了更改呢?为什么不能直接写port=8068或者http.server.port=8068,而一定要写server.port=8068呢?我们来分析一下。

如果我们在Controller的类中,返回的是中文的字符,在网页上也同样会显示出中文字符,大家可以去试一试,但是我们没有设置编码格式,那么编码格式要怎么设置呢?默认的编码格式是什么?在application.properties中也是可以对字符的编码进行设置:

例如这样,那么为什么要输入spring.http.encoding.charset?我们去寻找一下,这是有关于spring的配置,我们找到相关的jar包,在Maven Dependencies中:

在这个jar包中有很多package,我们找到管理web.servlet的package,里面有一个管理编码格式的class文件:

进去之后,我们可以看到这个配置class文件所写的内容,在类的上方有一@EnableConfigurationProperties(HttpProperties.class)

我们按住Ctrl,然后点击HttpProperties.class(是它的一些属性配置,点进去看一下)

prefix就是前缀的意思,在这里它提供了一个前缀spring.http给我们,让我们能从配置文件中输入相对应的前缀prefix,就能修改默认的相关信息,在这个类中,有一个变量encoding,这个是Encoding静态类中的一个对象。在这个静态类中,有一个变量叫做charset。天啊!我们发现了什么,spring.http.encoding.charset!就是我们在application.properties里面设置的编码所书写的key,原来是这样的因果关系呀!是不是终于知其然知其所以然了?那么问题又来了,为什么在这个类中书写过后,我们就会设置好了编码格式,它内部到底是怎么运行的?这就要讲到很多注解哩!让我们一起深度的刨根问底,从最底层来了解Spring Boot,这样才能学会这个框架,并且熟练的运用它。更多精彩,关注博主哦!

上一章:从零开始的Spring Boot学习【一】【搭建+配置+初步运行】

下一章:从零开始的Spring Boot学习【三】【自动装配(二)】

发布了28 篇原创文章 · 获赞 29 · 访问量 8339

猜你喜欢

转载自blog.csdn.net/KnightHONG/article/details/104143804