SpringBoot Web 初学者入门开发

一、SpringBoot介绍
1.SpringBoot特点:
  • SpringBoot项目不需要模板化的配置。
  • SpringBoot中整合第三方框架时,只需要导入相应的stater依赖包,就能自动整合。
  • SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用。java文件去编写配置文件
  • SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置。
  • 微服务框架SpringCloud需要建立在SpringBoot的基础上。
二、SpringBoot快速入门
1.创建一个项目
  • 第一次创建SpringBoot项目时,maven会下载大量的依赖,需要一定时间的等待(选择配置阿里云的私服)
  • 创建项目后,为了目录结构简洁,可以选择把.mvn、.mvnw、.mvnw.cmd这三个文件删掉
2.SpringBoot的目录结构
2.1 pom.xml:
  • 指定了一个父工程是SpringBoot,帮助我们声明了starter依赖的版本
  • 项目元数据:包名、项目名、版本号
  • 指定了properties信息:指定了java的版本号
  • 导入依赖:默认情况导入spring-boot-starter-web、spring-boot-starter-test
  • 插件:spring-boot-maven-plugin
2.2 .gitignore文件:
  • 默认帮我们忽略了一些文件和目录
2.3 src目录
  • src -> main -> java -> 包名 :启动类.java #需要将controller类,放在启动类的子包中或者同级包下
  • src -> main -> resources -> application.properties #SpringBoot提供的唯一的配置文件
  • src -> test: #测试使用
  • src -> main -> resources -> static: #存放静态资源
  • src -> main -> resources -> templates: #存储模板页面
2.4使用thymeleaf模板引擎SpringBoot的目录结构总结:
  • 在springboot,我们可以使用下列方式处理静态资源

  • webjars localhost:8080/webjars/

  • public, static ,/**, resources localhost:8080/

  • 优先级: resources >static>public

  • 在template目录下的所有页面,只能通过controller来跳转

  • 只要使用thymeleaf ,只需要导入对应的依赖就可以了!我们将html放在templa目录下即可

2.5 SpringBoot三种启动方式
  • 运行启动类的main方法即可运行SpringBoot工程
  • 采用maven命令启动SpringBoot项目 #命令:mvn spring-boot:run
  • 采用jar包的方式运行,将项目打包成一个jar包,通过命令运行 #命令: java -jar文件名
三、SpringBoot常用注解
1. @Configuration和@Bean
  • 使用SSM开发时,在xml文件中编写bean标签,但SpringBoot不推荐使用xml文件
  • @Configuration注解相当于beans标签
  • @Bean相当于bean标签
    • id=“方法名” #注意:如果@Bean(name= “user1”),那么注解中name的属性优先级更高
    • class=“方法的返回结果”
@Configuration//代表当前类是配置类
public class UserConfig {

    @Bean()  //构建一个实例,放在spring容器中,
    public User user(){
        User user = new User();
        user.setId(1);
        user.setName("张三");
        return user;
        /*
        <beans......>                              #相当于@Configuration
            <bean id ="user" class="实体类路径"/>    # bean相当于 @Bean标签,User相当于class
        </beans>                                   #id="user"相当于user()方法名
         */

    }
}
2. @SpringBootApplication
  • @SpringBootApplication是一个组合注解

  • @SpringBootApplication是@@Configuration注解,代表启动类是一个配置类

  • @EnableAutoconfiguration帮你实现自动装配,spring工程启动时,会运行一个SpringFactoriesLoader的类,然后加载META-INF/spring.factories配置类(已经开启的配置类),通过SpringFactoriesLoader中的load方法,以for循环的方式一个个加载。

  • 好处:无需编写大量配置信息,按照SpringBoot提供好的约定整合即可。

  • 坏处:导入了一个starter依赖,必须填写他必要的配置信息

  • 手动关闭自动装配指定内容:@SpringBootApplication(exclude = QuartzAutoConfiguration.class)

3. @ComponentScan
  • @ComponentScan相当于,帮助扫描注解
四、 SpringBoot常用配置
1. SpringBoot的配置文件格式
  • SpringBoot的配置文件支持properties和yml,甚至还支持json,推荐使用yml文件格式:
    • yml文件能根据换行和缩进帮助管理配置文件所在位置
    • yml文件相比properties更轻量级
  • yml文件的劣势:
    • 严格遵循换行和缩进
    • 在填写value时,一定要在 “:” 后面跟上一个空格
2. 多环境配置
  • 在application.yml文件中添加一个配置项:
spring.profiles.active=环境名
  • 在resource目录下,创建多个application-环境名.yml文件即可
  • 在部署工程时,通过java -jar jar文件 --spring.profiles.active=环境指定路径
3.引入外部配置文件信息
  • 和传统的SSM方式一样,通过@value的注释去获取properties/yml文件中的内容

  • 如果在yml文件中需要编写大量的自定义配置,并且具有统一的前缀时,采用如下方式:

@ConfigurationProperties(prefix = "aliyun")
@Component
@Data
public class AliyunProperties{
      private String xxxx:
      ....
      ....
}
aliyun:
  xxxx:xxxxxxx 
  .... 
4.4 热加载
  • 在pom.xml中
  <!--热加载-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
        </dependency>
        <!--热加载-->
  • 开启Java Compiler的自动build
    在这里插入图片描述

    热加载也要分情况设置,具体详细操作参考:点击跳转

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当前课程中博客项目的实战源码是我在 GitHub上开源项目 My-Blog,目前已有 3000 多个 star:本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 个人博客项目功能的讲解,通过本课程的学习,不仅仅让你掌握基本的 Spring Boot 开发能力以及 Spring Boot 项目的大部分开发使用场景,同时帮你提前甄别和处理掉将要遇到的技术难点,认真学完这个课程后,你将会对 Spring Boot 有更加深入而全面的了解,同时你也会得到一个大家都在使用的博客系统源码,你可以根据自己的需求和想法进行改造,也可以直接使用它来作为自己的个人网站,这个课程一定会给你带来巨大的收获。作者寄语本课程录制于 2020 年,代码基于 Spring Boot 2.x 版本。到目前为止,Spring Boot 技术栈也有一些版本升级,比如 Spring Boot 2.7 发版、Spring Boot 3.x 版本发布正式版本。对于这些情况,笔者会在本课程实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者朋友们不会学习过气的知识点。课程特色 课程内容紧贴 Spring Boot 技术栈,涵盖大部分 Spring Boot 使用场景。开发教程详细完整、文档资源齐全、实验过程循序渐进简单明了。实践项目页面美观且实用,交互效果完美。包含从零搭建项目、以及完整的后台管理系统和博客展示系统两个系统的功能开发流程。技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,对于提升你的市场竞争力有一定的帮助。实战项目预览    

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值