Spring Boot项目搭建

Spring Boot是伴随着Spring4.0诞生的;
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
Spring Boot帮助开发者快速启动一个Web容器;
Spring Boot继承了原有Spring框架的优秀基因;
Spring Boot简化了使用Spring的过程。

Spring Boot概述:
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。一句话概括,“Spring Boot它就是一些人为了快速配置一套系统框架而进行的封装,里面根据各种类型的项目功能封装了各种模块框架的引用,我们在使用的时候就不需要一一的去添加具体的引用了,只需要添加他们封装好的Spring Boot相关模块插件即可”。Spring Boot其实不是什么新的框架,就如同一个盒子,盒子里面装了很多的jar,我们只要引用这个盒子就可以实现各种框架引用与搭建了


Spring Boot核心功能:

  1. 独立运行的Spring项目: 可以以jar包形式独立运行,通过java -jar xx.jar即可运行;
  2. 内嵌Servlet容器: 可以选择内嵌Tomcat、Jetty等;
  3. 提供starter简化maven配置:一个maven项目,使用了spring-boot-starter-web时,会自动加载Spring Boot的依赖包;
  4. 自动配置Spring: Spring Boot会根据在类路径中的jar包、类,为jar包中的类自动配置Bean;
  5. 准生产的应用监控: 提供基于http、ssh、telnet对运行时的项目进行监控;
  6. 无代码生成和xml配置: 主要通过条件注解来实现。

配置环境:

1、JDK1.8

2、Maven(也可以使用非maven工具搭建)

3、IDE(Eclipse、IntelliJ 或者其它的)

代码配置:

1、新建一个maven项目, 可以是web工程也可以是java基本工程

2、在pom.xml中配置

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.4.0.RELEASE</version>
</parent>
 
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

3、新建java类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
@Controller
@EnableAutoConfiguration
public class SampleController {
 
	@RequestMapping("/")
	@ResponseBody
	String home() {
		return "Hello SpringBoot";
	}
 
	public static void main(String[] args) throws Exception {
		SpringApplication.run(SampleController.class, args);
	}
}

以上, 就完成了Spring Boot最最简单的配置

运行该main方法

可以看到上面打印了各种信息, 表示启动成功

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.0.RELEASE)

2020-04-19 17:20:16.129  INFO 17124 --- [           main] SampleController                         : Starting SampleController on print with PID 17124 (D:\Eclipse\Workspaces\sb-test\target\classes started by 11501 in D:\Eclipse\Workspaces\sb-test)
2020-04-19 17:20:16.131  INFO 17124 --- [           main] SampleController                         : No active profile set, falling back to default profiles: default
2020-04-19 17:20:16.159  INFO 17124 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5a63f509: startup date [Sun Apr 19 17:20:16 CST 2020]; root of context hierarchy
2020-04-19 17:20:17.712  INFO 17124 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2020-04-19 17:20:17.722  INFO 17124 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2020-04-19 17:20:17.723  INFO 17124 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.4
2020-04-19 17:20:17.795  INFO 17124 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-04-19 17:20:17.796  INFO 17124 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1639 ms
2020-04-19 17:20:17.929  INFO 17124 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2020-04-19 17:20:17.931  INFO 17124 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2020-04-19 17:20:17.931  INFO 17124 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2020-04-19 17:20:17.931  INFO 17124 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2020-04-19 17:20:17.932  INFO 17124 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2020-04-19 17:20:18.126  INFO 17124 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5a63f509: startup date [Sun Apr 19 17:20:16 CST 2020]; root of context hierarchy
2020-04-19 17:20:18.168  INFO 17124 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto java.lang.String SampleController.home()
2020-04-19 17:20:18.171  INFO 17124 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2020-04-19 17:20:18.171  INFO 17124 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2020-04-19 17:20:18.192  INFO 17124 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-04-19 17:20:18.192  INFO 17124 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-04-19 17:20:18.219  INFO 17124 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2020-04-19 17:20:18.313  INFO 17124 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2020-04-19 17:20:18.355  INFO 17124 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2020-04-19 17:20:18.359  INFO 17124 --- [           main] SampleController                         : Started SampleController in 2.521 seconds (JVM running for 2.84)
2020-04-19 17:21:05.763  INFO 17124 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2020-04-19 17:21:05.763  INFO 17124 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2020-04-19 17:21:05.791  INFO 17124 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 28 ms

浏览器访问

http://localhost:8080/

即可看到输出信息Hello SpringBoot

相关说明:

@EnableAutoConfigurationSpringApplication

1、@EnableAutoConfiguration 用于自动配置。它会根据你的pom配置(实际上应该是根据具体的依赖)来判断这是一个什么应用,并创建相应的环境。

在上面这个例子中,@EnableAutoConfiguration 会判断出这是一个web应用,所以会创建相应的web环境。

2、SpringApplication 则是用于从main方法启动Spring应用的类。默认,它会执行以下步骤:

创建一个合适的ApplicationContext实例 (取决于classpath)。
注册一个CommandLinePropertySource,以便将命令行参数作为Spring properties。
刷新application context,加载所有单例beans。
激活所有CommandLineRunner beans。

一个入门简单的SpringBoot创建完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值