SpringBoot
每次使用springmvc时需要导非常多依赖,配置非常多文件,这对于我们的运维管理是非常不便的
springBoot之前:
-
之前——学习框架就是学习配置
-
之后——约定大于配置
spring Boot的优点
-
约定大于配置
-
创建独立的spring应用
-
嵌入的tomcat jetty 或者 undertow 不用部署WAR文件
-
允许通过Maven来根据需求来获取starter
微服务:有效的拆分应用,
springBoot核心功能:
-
起步依赖(简化依赖配置)
-
自动配置(简化常用工程相关配置)
-
辅助功能(内置服务器)
配置:
选择spring initializr
路径可以使用原有路径,也可以改为阿里云,建议用阿里云
选择Maven
选择所需要的技术集
运行程序
创建项目后,运行启动类即可启动 Spring Boot 应用。Spring Boot 默认使用 Tomcat 作为服务器,并使用 logback 记录日志。
@SpringBootApplication
public class SpringbootDemo1Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo1Application.class, args);
}
}
成功页面
配置相关配置文件
配置文件分类
现在已经能够进行SpringBoot相关的配置了,但是properties格式的配置写起来总是觉得看着不舒服,所以就期望存在一种书写起来更简便的配置格式提供给开发者使用。有吗?还真有,SpringBoot除了支持properties格式的配置文件,还支持另外两种格式的配置文件。三种配置文件格式分别如下:
-
properties格式
-
yml格式
-
yaml格式
一看到全新的文件格式,各位小伙伴肯定想,这下又要学习新的语法格式了。怎么说呢?从知识角度来说,要学,从开发角度来说,不用学。为什么呢?因为SpringBoot的配置在Idea工具下有提示啊,跟着提示走就行了。下面列举三种不同文件格式配置相同的属性范例,先了解一下。
-
application.properties(properties格式)
server.port=80
-
application.yml(yml格式)
server: port: 81
-
application.yaml(yaml格式)
server: port: 82
仔细看会发现yml格式和yaml格式除了文件名后缀不一样,格式完全一样,是这样的,yml和yaml文件格式就是一模一样的,只是文件后缀不同,所以可以合并成一种格式来看。那对于这三种格式来说,以后用哪一种比较多呢?记清楚,以后基本上都是用yml格式的,本课程后面的所有知识都是基于yml格式来制作的,以后在企业开发过程中用这个格式的机会也最多,一定要重点掌握。
学习spring boot注解实用
@SpringBootApplication 注解会启用自动配置功能。Spring Boot 会自动配置以下 Bean:
- DispatcherServlet:Spring MVC 的核心组件,用于处理 Web 请求。
- EmbeddedServletContainer:嵌入式服务器,例如 Tomcat,用于启动 Web 应用。
- Logging:日志配置,使用 Logback 记录日志。
-
@SpringBootApplication
:组合注解,用于启动 Spring 应用的自动配置。它包含了@Configuration
、@EnableAutoConfiguration
和@ComponentScan
。 -
@EnableAutoConfiguration
:告诉 Spring Boot 基于类路径中的 jar 包依赖为当前项目进行自动配置。 -
@ComponentScan
:自动扫描并加载符合条件的组件或者bean,定义扫描的路径。 -
@RestController
:组合注解,用于定义 RESTful Web Services。它组合了@Controller
和@ResponseBody
。 -
@RequestMapping
:用于将 HTTP 请求映射到处理器方法上。可以用于类或方法上。 -
@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
:分别用于处理 HTTP GET、POST、PUT、DELETE 请求的方法上。 -
@PathVariable
:用于将 URL 中的占位符参数绑定到控制器处理方法的参数上。 -
@RequestParam
:用于将请求参数区绑定到控制器处理方法的参数上。 -
@RequestBody
:用于读取 Http 请求的内容,将其绑定到相应的 bean 上。 -
@ResponseBody
:表示该方法的返回结果直接写入 HTTP 响应正文中,一般在异步请求中使用。 -
@Autowired
:自动注入依赖的 bean。 -
@Service
:用于标注服务层的组件。 -
@Repository
:用于标注数据访问组件,即 DAO 组件。 -
@Component
:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 -
@Configuration
:用于定义配置类,可替换 xml 配置文件。 -
@Bean
:用于声明一个 bean。 -
@Value
:用于将配置文件中的值注入到 bean 的字段中。 -
@PropertySource
:用于指定配置文件的位置。 -
@Import
:用于导入其他配置类。 -
@Profile
:用于指定条件,当条件满足时,该注解的类或者方法才会生效。 -
@Lazy
:用于延迟加载 bean。 -
@Scope
:用于声明 bean 的作用域。 -
@PostConstruct
和@PreDestroy
:分别用于在 bean 创建后和销毁前执行特定的方法。 -
@Async
:用于声明异步方法。 -
@Scheduled
:用于声明定时任务。
总结
Spring Boot 是一款功能强大的框架,可以帮助开发者快速创建和部署 Spring 应用。通过本文的学习,相信你已经了解了 Spring Boot 的基本用法、扩展功能和实战案例。