尚硅谷SpringBoot3零基础教程,springboot入门到实战_哔哩哔哩_bilibili
SpringBOOT 只会扫描在主程序下的包!!!!!!!!!!!!写在其他包上面会有问题
//@SpringBootApplication(scanBasePackages = "com") //也可以自己设置扫描路径
SpringBOOT是什么
有一个starter 东西 可以自动导包
Getting Started (spring.io) 文档讲解
1.安装
引入依赖:
<!-- 所有的项目都得继承这个项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.8</version> </parent> <dependencies> <!-- Web开发场景启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <!-- 创建可执行jar包 springboot应用导包插件--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2.自动导包
需要引入上面的依赖
2.开始
1.初始代码
package com.SpringBoot.Controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; //两个的合成注解 @RestController public class HelloController { @GetMapping("/hello") public String hello(){ return "halou"; } }
2.配置文件修改
配置文件介绍地址:Common Application Properties (spring.io)
server.port=22222 设置端口号
需要添加一个名字为application.properties 这个文件
3.自动一键创建springBoot项目Spring Initializr
自动设置spring的默认参数
选择版本和需要的场景
目录组成
场景启动器
点击进去会进入场景启动器 里面有各个场景
3.常用注解
超常用
@Configuration //标识是一个配置用来注入的类
@SpringBootConfiguration //和上面一样 标识是springboot里面的
@Import(User.class) //用来导入第三方类
@Bean 依赖配置
@Scope() 设置是单例模式
@Slf4j 设置为日志格式 配上 log.info("有一个用户进入"); 就可以使用
在Model类上面的
@Data 表示get set tostring
@JsonInclude(JsonInclude.Include.NON_NULL) //设置json格式返回不为空的
@NoArgsConstructor //设置空参构造器
@AllArgsConstructor //设置全参构造器
@Component //标识那都可以调用
@EnableConfigurationProperties(StdioModel.class) // 导入第三方的属性绑定使用的 (因为第三方扫描不到)
@ConfigurationProperties(prefix = "stdio") //标识注入配置文件application.properties 里面的开头叫stdio的名称他会自动注入(可以标到类上或者 方法上 方法上的化会自动注入)
注入的时候出现乱码
@ConfigurationProperties(prefix = "stdio") 两种写法
第一种这样子写 但是必须加@Component
@Data @Component //标识那都可以调用 @ConfigurationProperties(prefix = "stdio") //标识注入配置文件application.properties 里面的开头叫stdio的名称 public class StdioModel { public int id; public String Name; public Boolean tf; }
第二种两次标识
@EnableConfigurationProperties(StdioModel.class) 在config注解上面加开启功能 public class Appconfig { } @ConfigurationProperties(prefix = "stdio") //在这里标识绑定的名称 public class StdioModel { public int id; public String Name; public Boolean tf; }
第三种 写在类上面
@Bean @ConfigurationProperties(prefix = "user") public UserModel user(){ return new UserModel(); }