SpringBoot学习笔记(一)

一、新建一个maven项目

二、打开pom.xml

首先要添加如下两个节点<parent>和<dependencies>

<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.zc</groupId>
  <artifactId>springboot2.0-helloworld</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <!--spring-boot-starter-parent  是用来整合常用框架依赖的  -->
  <parent>
   		<groupId>org.springframework.boot</groupId>
   		<artifactId>spring-boot-starter-parent</artifactId>
  		<version>2.0.0.RELEASE</version>
  </parent>

  <!--spring-boot-starter 是springboot整合springMVC web的组件  -->
  <dependencies>    
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter</artifactId>
		<version>2.0.0.RELEASE</version>
	</dependency>
  </dependencies> 
	
  <build/>
</project>

三、创建一个Contoller

学习第一个注解  @RestController   

作用:修饰的类下的所有方法,全部都是返回josn格式

使用传统方式返回json 使用@ResponseBody

所以@RestController    =    @Controller  + @ResponseBody

在微服务情况,基本上都在类上加上@RestController

@RestController
public class FirstController {

	@RequestMapping("/index")
	public String index() {
		return "hello";
	}



//  传统方式
@Controller
public class FirstController {
	
	@RequestMapping("/index")       // URL地址
	@ResponseBody                   // 让方法返回json格式
	public String index() {
		return "hello";
	}
}

第二个注解  @EnableAutoConfiguration

作用:自动加载pom.xml中的配置,扫包范围:默认为当前类

该方式启动时扫包范围有局限性,所以一般我们提取出启动配置,单独创建一个APP类

并使用第三个注解   @ComponentScan("com.zc.controller")

作用:它在启动时,扫描com.zc.controller包下所有的类

@ComponentScan("com.zc.controller")
public class App {

	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}

}

可以看出@ComponentScan比@EnableAutoConfiguration扫描的范围大

但是项目中不止一个包怎么办?

解决1:  @ComponentScan(basePackage={"com.zc.controller","com.zc.controller2"})

              可以配置多个,但是很low

解决2: 第四个注解@SpringBootApplication   扫包范围:在同级包和当前包下

             此外,@SpringBootApplication  = @EnableAutoConfiguration  + @ComponentScan

所以我们用第四个注解就行了

@SpringBootApplication
public class App {

	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}

}

小结:@EnableAutoConfiguration    扫包范围:默认为当前类

            @ComponentScan                扫包范围:包

             @SpringBootApplication       扫包范围:在同级包和当前包下

 

另:静态资源都放在src/test/resources的static目录下,注意,访问的时候直接访问静态资源就可以了,不需要加路径src/test/resources/static

src/test/resources/static  只是一个规范,表明该文件夹下是静态资源

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值