Spring-boot
简介Spring-Boot
Springboot来简化新Spring的初始搭建以及开发过程
Spring-Boot的核心步骤
- 独立运行的Spring项目
- 内嵌的Servlet容器,Spring-Boot可以选择内置的Tomcat,或者Jetty,无需war包的形式
- 提供start向导简化maven配置
- 自动配置Spring,Spring-Boot会根据在类路径中jar包,自动配置Bean
- 准生产级别的应用监控: Spring Boot提供了基于http, ssh, telnet对运行时的项目进行监控。
- 无代码生产和xml配置: Spring 4. x中通过条件注解实现
Spring-Boot的核心基本配置
@SpringBootApplication是Spring Boot的核心注解,是一个
组合注解,包括:@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan注解
-
其实@SpringBootConfiguration其实就是一个@Configuration, 所以@SpringBootConfiguration的功能就是表明这是一个配置类,开发者可以在这个类中配置Bean。
-
@EnableAutoConfi guration是根据类路径配置的jar包依赖开自动配置的注解。如:在添加spring -boot-starter-web时,会自动加入tomcat,SpringMVC的依赖,并且对Tomcat和Spring MVC进行自动配置,Spring Boot会自动扫描@SpringBootApplication所在类的同级包及以下包的Bean,因此建议其他所有包都在@SpringBootApplicat ion所在包的于包里。
-
@ComponentScan完成包扫描,也是Spring中的功能。由于@ComponentScan注解默认扫描的类都位于当前类所在包的下面,因此在实际项目开发中把项目启动类放在根包中。该注解,除了扫描@Service,@Repository、 @Component、@Controller和@RestController等之外,也会扫描@Configurat ion注解的类。
Spring-Boot的关闭自动配置
yaml
YAML是JSON的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代appl ication. properties。在创建一个Spring Boot项目时,引入的spring-boot-starter- web依赖间接地引入了snakeyaml依赖,snakeyaml 会实现对YAML配置的解析。
YAML的使用非常简单,利用缩进来表示层级关系,并且大小写敏感。在Spring Boot项目中使用YAML只需要在resources目录下创建一个application. yml文件即可。
代码理解
SchoolController:
@RestController
public class SchoolController {
@Autowired
private School school;
@GetMapping(value = "/read")
public String read(){
return school.toString();
}
}
server:
port: 8081
servlet:
context-path: /weikun
school