一个帅气小白的springboot入门概述

本文介绍了SpringBoot的学习目标和优点,如快速创建独立项目、自动配置和简化开发。通过实例展示了创建SpringBoot项目的过程,包括添加依赖、编写启动类和控制器。同时,解释了关键注解的作用,如@EnableAutoConfiguration和@SpringBootApplication,帮助理解SpringBoot的自动配置和组件扫描机制。文章还提出了课后问题,如Integer和int的区别,并制定了学习计划。
摘要由CSDN通过智能技术生成

学习目标:

1.为什么学习springboot
2.学习springboot
3.熟练掌握springboot的设计模式

学习内容:

为什么学习springboot?
因为SSM框架需要大量的xml的配置导致开发繁琐 开发效率低;有大量的jar包需要我们手动管理,容易造成版本的冲突;将项目打成war包 扔到webapp的目录下面,项目部署麻烦

1.1springboot的优点:
1.快速创建独立运行的Spring项目以及与主流框架集成
2.使用嵌入式的Servlet容器,应用无需打成WAR包
3.starters自动依赖与版本控制
4.大量的自动配置,简化开发,也可修改默认值
5.无需配置XML,无代码生成,开箱即用
6.准生产环境的运行时应用监控
7.与云计算的天然集成

1.2创建springboot项目的准备
jdk1.8
maven3.x
IntelliJ IDEA 2018
需求: 浏览器发送hello请求,服务器接收并处理请求,向浏览器页面返回一个helloworld字符串

1.3步骤
先创建Maven项目
在添加依赖
在pom.xml里面导入起步依赖

<!--spring-boot-starter-parent整合第三方常用框架的依赖信息-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>

SpringBoot要集成SpringMvc进行Controller的开发 所以项目要导入web的启动依赖

<!--spring-boot-starter-web 是springboot整合springMVC是maven的依赖继承关系 -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

然后再编写controller
在这里插入图片描述
接着编写启动类
在这里插入图片描述
1.4注解的作用:
1.@EnableAutoConfiguration注解:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置
这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
@EnableAutoConfiguration扫描的时候,只能扫描到当前类

2.@ComponentScan注解
由于@EnableAutoConfiguration注解只能扫描当前的类,这样对Controller里面的类进行管理很不方便,这个时候,我们可以用@ComponentScan注解来配置扫描包的范围。
我们可以将启动器抽取成一个单独的类
@EnableAutoConfiguration
@ComponentScan(“com.oracle.controller”)
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
但是使用@ComponentScan进行扫包的时候,包比较多的情况下,写起来比较麻烦。比如我要扫码多个包:
@ComponentScan(basePackages = {“com.oracle.user.controller”,“com.oracle.order.controller”})

我们可以使用@SpringBootApplication,一劳永逸的解决以上问题
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。

1.5 使用@SpringBootApplication注解编写启动类
在这里插入图片描述

但是此时需要注意App类所在的包中的位置在这里插入图片描述

重点

1.springboot项目中的细节

<!--spring-boot-starter-parent整合第三方常用框架的依赖信息-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>
他的父项目是
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

它真正管理springboot项目里面的所有依赖版本,以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)

2.启动器

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;
Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter 相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动

课后问题

1.Integer和Int有什么区别

1>.Integer是int的包装类,int则是java的一种基本数据类型;
2>.Integer变量必须实例化后才能使用,而int变量不需要;
3>.Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值;
4>.Integer的默认值是null,int的默认值是0。

学习计划:

1.可以熟练完成当天任务
2.掌握当天的理论题
3.预习下一天的课

今天的总结到此结束 剩下的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值