1、第一个SpringBoot项目
系统自动生成了配置,创建controller等文件夹,注意创建位置
创建HelloController
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
//调用业务,接收前端参数
return "hello,springboot";
}
}
运行DemoApplication
//程序的主入口
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
在地址栏输入http://localhost:8080/hello访问
注:更改项目端口号方式:
application.properties文件编写:
#更改项目端口号
service.port=8081
2、SpringBoot自动配置原理
pom.xml:
spring-boot-dependencies:核心依赖在父工程
启动器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
SpringBoot的启动场景;
比如spring-boot-starter-web,他就会帮我们自动导入web环境所有的依赖;
springboot会将所有的功能场景,都变为一个个的启动器
主程序:
//@SpringBootApplication:标注这个类是一个springboot的应用
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
//将springboot应用启动
SpringApplication.run(DemoApplication.class, args);
}
}
注解:
@SpringBootApplication
springboot所有自动配置都是在启动的时候扫描并加载:spring.factories所有的自动配置类都在这里面,但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器,自动装配就会生效,然后配置成功
1、springboot在启动的时候,从类路径下/META-INF/SPRING.factories获取指定的值;
2、将这些自动配置的类导入容器,自动配置就会生效,帮我们进行自动配置;
3、以前需要自动配置的东西,springboot都帮我们做了;
4、整合了javaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure-2.4.2.jar这个包下面;
5、它会将所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器;
springboot的理解:
run()方法:判断是普通项目还是web项目