springboot2——1 快速入门

快速入门案例

需求:发送/hello请求,响应hello springboot
步骤:(1)创建普通的maven项目,不使用骨架;(2)在pom.xml中引入依赖;
在这里插入图片描述
(3)创建主程序入口,命名无所谓,在主程序所在的类加上@SpringBootApplication,表明这是一个springboot应用;

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

(4)创建一个HelloController类,在其中写业务方法;

/*
@RestController = @ResponseBody + @Controller
*/
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello springboot";
    }
}

(5)运行主程序的main方法,在浏览器发生/hello请求,完成测试。

入门案例进阶

配置文件

springboot将所有的配置都抽取在resource下的application.properties,用键值对的格式进行配置

打包运行

补充:开发与部署
开发是在本地使用IDE完成项目编写的过程,此时项目只能在本地环境运行,别人的电脑上是访问不到的,要想别人也能够正常使用我们的项目就得进行部署。
以前项目要部署到目标服务器,需要把项目打成war包,同时还得在目标服务器安装tomcal配置运行环境,而有了springboot,则可以在pom.xml中引入插件,然后直接将项目打包为一个jar包,这时的jar包自带了运行环境,可以直接运行,这个jar包一般称为"fat jar"又叫小胖jar。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

springboot特性

依赖管理

starter场景启动器:springboot只需要在项目的pom.xml文件中导入spring-boot-starter-web即可将编写一个web应用所需要的所有的jar包自动加载完成
父项目做依赖管理:父项目声明开发中常见的依赖及版本号,子项目只要继承父项目,子项目写依赖一般就不用写版本号,当引入的依赖不在父项目中还得写版本号;
快速入门案例中,该项目继承了spring-boot-starter-parent这一父项目,而spring-boot-starter-parent又继承了spring-boot-dependcies。
自定义版本号:如果想自定义依赖版本号,先在spring-boot-dependcies查看规定当前依赖的版本号用的key,然后在pom.xml中重写版本号即可。

       <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>
    <properties>
        <mysql.version>5.1.23</mysql.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency><!--父项目做依赖管理,这里不用写版本号-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>

自动配置

自动配好tomcat;
自动配好web常见功能(字符编码问题)和SpringMVC常用组件,可以用如下代码查看具体配置了那些组件;

@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
        String[] names = run.getBeanDefinitionNames();
        for (String name : names) {
            System.out.println(name);
        }
    }
}

默认包扫描:主程序所在的包及其子包都会被扫描到,其他位置的类不会被扫描。
要扫描其他位置的类,有两种方法解决:其一是使用@SpringBootApplication里的属性scanBasePackages人为指定包注解扫描的范围;其二是拆开@SpringBootApplication,使用其中的@ComponentScan注解指定需要扫描的包

//法一
@SpringBootApplication(scanBasePackages = "com.xy")
//法二
/*
@SpringBootApplication = @SpringBootConfiguration + 
							@EnableAutoConfiguration + 
							@ComponentScan
*/
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.xy")

配置都有默认值:所有配置都有默认值,而且这些配置最终都是映射到对应的java类,可以在resource下的application.properties中修改默认值;
按需加载所有的自动配置项:springboot中所有的自动配置功能都在spring-boot-autoconfigure这个包,包中有所有starter,但并不会加载全部的starter而是自动配置,即导入哪个依赖才加载哪个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值