SpringBoot学习之入门篇

经过多年的发展java的开发体系也越来越全面我们经历了从spring2.5、springMVC3X到现在的springboot,虽然开发方式发生了变化,唯一不变的是我们仍然需要坚持不懈的学习劲头和激情,不断努力不断提高,因此这次特地分享下最近学习springboot的经验,这里不会每个步骤都写的那么详细,就简明扼要的写一下

一  学习springboot需要具备的基本要求

1 对spring以及springmvc有使用经验和基础的调试能力

2 有jpa或者hibernate的使用经验

3 会使用freemarker

4 熟练使用mybatis

5 熟练使用maven

6 简单使用服务器中间件如tomcat,jboss,weblogic等


如果掌握了以上技术,springboot便能快速上手一学就会,因此springboot对程序员的综合能力还是很高的


二  下面介绍springboot的基本配置和application.properties

经过一段时间的学习我觉得springboot的特色是规约配置,也就是说springboot中规则大于配置,更多的我们需要记住里面的那些规则,如下图所示



看到这里不知道大家会不会和我一样对springboot的灵活性感到无比惊讶,关于配置文件里的众多配置大家可以查查资料,这里就不全部写出来了


三  项目创建后pom文件的写法

maven的使用就不说了,直接贴给大家一个常用的,如下所示

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.debug</groupId>
  <artifactId>usemybatis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>usemybatis</name>
  <url>http://maven.apache.org</url>

 <properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
	</properties>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.5.RELEASE</version>
	</parent>

	<dependencies>
		<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		
	</dependency>

	
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
			<scope>true</scope>
		</dependency>
	
		


		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart -->
					<fork>true</fork>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果有需要直接引入所需依赖就可以了


四 springboot的启动入口

默认情况下项目创建完毕后会生产一个叫App.java的文件,我们只需要在这个文件上加上注解以及 SpringApplication.run(App.class, args);就OK了,如下所示:

package com.debug;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        SpringApplication.run(App.class, args);
    }
}

运行也很简单,直接在这个文件右键选择Run as -->Java Application即可,如果没有问题启动会控制台会有如下显示

Hello World!
                                     .__              ___.                  __   
  _____ ___.__.   ___________________|__| ____    ____\_ |__   ____   _____/  |_ 
 /     <   |  |  /  ___/\____ \_  __ \  |/    \  / ___\| __ \ /  _ \ /  _ \   __\
|  Y Y  \___  |  \___ \ |  |_> >  | \/  |   |  \/ /_/  > \_\ (  <_> |  <_> )  |  
|__|_|  / ____| /____  >|   __/|__|  |__|___|  /\___  /|___  /\____/ \____/|__|  
      \/\/           \/ |__|                 \//_____/     \/                    
2017-09-24 13:08:13.260  INFO 10632 --- [           main] com.debug.App                            : Starting App on cry with PID 10632 (G:\stsspace\usespringboot01\target\classes started by chenwill2 in G:\stsspace\usespringboot01)
2017-09-24 13:08:13.281  INFO 10632 --- [           main] com.debug.App                            : The following profiles are active: prod
2017-09-24 13:08:13.558  INFO 10632 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@635eaaf1: startup date [Sun Sep 24 13:08:13 CST 2017]; root of context hierarchy
2017-09-24 13:08:27.815  INFO 10632 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 80 (http)
2017-09-24 13:08:27.863  INFO 10632 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2017-09-24 13:08:27.864  INFO 10632 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.11
2017-09-24 13:08:28.367  INFO 10632 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2017-09-24 13:08:28.368  INFO 10632 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 14831 ms
2017-09-24 13:08:28.613  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2017-09-24 13:08:28.621  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-09-24 13:08:28.678  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-09-24 13:08:28.678  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-09-24 13:08:28.678  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2017-09-24 13:08:29.274  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@635eaaf1: startup date [Sun Sep 24 13:08:13 CST 2017]; root of context hierarchy
2017-09-24 13:08:29.413  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello/sayHello.do]}" onto public java.lang.String com.debug.HelloController.sayHello()
2017-09-24 13:08:29.415  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hi/sayHi.do]}" onto public java.lang.String com.debug.HiController.sayHi()
2017-09-24 13:08:29.420  INFO 10632 --- [           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)
2017-09-24 13:08:29.422  INFO 10632 --- [           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)
2017-09-24 13:08:29.468  INFO 10632 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-24 13:08:29.468  INFO 10632 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-24 13:08:29.539  INFO 10632 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-24 13:08:29.802  INFO 10632 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-09-24 13:08:30.553  INFO 10632 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 80 (http)
2017-09-24 13:08:30.558  INFO 10632 --- [           main] com.debug.App                            : Started App in 19.18 seconds (JVM running for 21.845)


五 controller的写法大致如下

package com.debug;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

	@RequestMapping("/hello/sayHello.do")
	public String sayHello() {
		return "Hello Spring Boot!";
	}
	
}

@RestController类似@Controller加@RequestMapping的用法,如果是web开发使用springmvc的那套就是@Controller加@RequestMapping会比较方便,类似webservice的数据交互使用@RestController比较方便

从浏览器输入url后运行效果如下




至此第一个springboot程序就写完了

备注:开发工具我使用的是spring tool suite, jdk是1.8的版本


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值