Spring boot 入门配置

时间:2022-09-08 17:48:57

1,maven 的pom 文件里面引入

<!-- spring boot 父节点依赖,引入这个之后相关的引入就不需要添加version配置,spring boot会自动选择最合适的版本进行添加。 -->

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

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 -->
  <java.version>1.8</java.version>
 </propertie

<!-- spring-boot-starter-web: MVC,AOP的依赖包.... -->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <!-- <version></version> 由于我们在上面指定了 parent(spring boot) -->
  </dependency>

2,三种启动方式:

方式一:

控制层:

@RestController
@EnableAutoConfiguration
public class Index {
@RequestMapping("/index")
public String index(){
return "index";
}
}

程序入口:

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

@EnableAutoConfiguration 的作用 是对Spring 框架的自动配置,由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

@RestController  表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口,相当于@Controller + @ResponseBody

方式二:

如果controller 包下面不知Index 一个类,有好多类,很显然,这种启动方式就不合适了

控制层:

@RestController
public class Index {
@RequestMapping("/index")
public String index(){
return "index";
}
} @RestController
public class Login {
@RequestMapping("/login")
public String index(){
return "login";
}
}

程序入口:将@EnableAutoConfiguration 添加到程序入口的类 并且加入扫包@ComponentScan(basePackages = "com.baiyue.controller")

@EnableAutoConfiguration
@ComponentScan(basePackages = "com.baiyue.controller")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}

方式三:用@SpringBootApplication 替代@EnableAutoConfiguration 和 @ComponentScan

但是需要注意的是@SpringBootApplication 里面扫包是扫当前包下或者子包下所有的类

启动类:

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