当我们提到Spring Boot的时候,都会朗朗上口“约定大于配置”。当我细想一下Spring Boot大约节省了哪些配置的时候,突然卡了壳。
想了解Spring Boot节约了哪些配置,我们就得知道不使用Spring Boot需要配置什么。拿一个SSM的项目来举个例子吧。
首先是spring。
- 在java web项目里要加载spring,需要一个spring的监听器监听web容器的启动,然后加载spring容器自身。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
- 然后spring还要一个配置文件,要在web.xml里表明spring的配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
- 在spring的配置文件中需要配置包扫描的范围
context:component-scan
然后是Spring MVC。
- 要在web.xml里注册spring mvc的前端控制器,它是一个Servlet,并把所有的请求转发给它。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- Spring MVC也有配置文件 * -servlet.xml,* 是注册的servlet-name,所以配置文件名是springmvc-servlet.xml。在配置文件中加上
<mvc:annotation-driven />
是启用注解驱动。会自动为我们将扫描到的@Component,@Controller,@Service,@Repository等注解标记的组件注册到工厂中,来处理我们的请求。 (这个配置我也没怎么懂,大概就是让spring mvc 知道哪些类是处理网络请求的吧)。
最简单的spring + spring mvc配置大概就是这样了,接下来看看spring Boot的配置。
在pom.xml中加入web的模块包就好了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
然后在appplication.properties中加入
server.port=8081
一个简单的web项目就配置好了。
确实省了好多配置。
网友评论