NoteBook / Spring Boot基础(1)

  1. Spring简介
  2. Spring Boot简介
  3. 开发一个Spring Boot应用
  • Spring简介

Spring框架:Java EE开发中最重要的框架之一,完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,大大提高了开发效率

Spring是模块化的,可选择自己需要的Spring模块,其中最重要的模块包括

Core Container:核心容器

AOP:面向切面编程

Web:Web集成功能

Data Access:数据访问功能

Core Container主要由org.springframework.core、org.springframework.beans、org.springframework.context、org.springframework.expression四个包及其子包组成,主要提供Spring IoC容器支持

IoC:Inversion of Control,控制反转,借助“第三方”实现具有依赖关系的对象之间的解耦

https://blog.csdn.net/ivan820819/article/details/79744797

Spring最大的特点是通过配置简化开发

在Spring 2.x的时代,提供了声明Bean的注解(如@Component、@Service等),大大减少了XML的配置量

Bean:由Spring IoC容器实例化、组装和管理的对象

https://www.awaimai.com/2596.html


  • Spring Boot简介

Spring Boot使用“约定大于配置”的理念,提供了针对各种场景的spring-boot-starter自动配置依赖模块,这些模块“开箱即用”,目的就是为了对Java Web的开发进行“简化”和“加速”

Spring Boot可以以jar包的形式独立运行,使用java -jar命令或者在项目的主程序中执行main函数就可以成功运行项目

内嵌Servlet容器,可以选择内嵌Tomcat、Jetty等Web容器,无需以war包形式部署项目

提供starter简化Maven配置,基本上可以做到自动化配置,高度封装,开箱即用

Spring Boot的配置主要分为:命令行参数、系统环境变量、位于文件系统中的配置文件、位于classpath中的配置文件、固化到代码中的配置(优先级从高到低)

实际项目中最常用的配置是配置文件,Spring Boot应用默认的配置文件名叫作application.properties

  • 日志依赖模块spring-boot-starter-logging

          可以通过如下配置在Maven中添加spring-boot-starter-logging模块:

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

        若要对默认日志设置做调整,使用自己定制的logback.xml日志文件,logback.xml建议放在src/main/resources目录下,然后在application.properties中指定:

logging.config = logback.xml
  • Web开发依赖模块spring-boot-starter-web

        Spring框架的使用者几乎都会使用Spring MVC来开发Web项目

        MVC:Model View Control,模型-视图-控制器

        可以通过如下配置在Maven中添加spring-boot-starter-web模块:

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

        这样,就得到了一个可以直接执行Web项目,运行当前项目的main方法就可以启动一个使用了嵌入式Tomcat服务器的Web应用

        可以在当前项目下新建一个Spring MVC的Controller控制器,来返回值,否则会报错“Whitelabel Error Page”:

@RestController
public class IndexController {
        //映射“/”请求
        @RequestMapping("/")
        public String index() {
            return "Hello Spring Boot!";
        }
}

        访问“http://127.0.0.1:8080”,将显示Controller返回的信息

        Spring Boot项目的静态文件和页面统一放在src/main/resources目录对应的子目录下:

                src/main/resources/static目录用于存放各类静态资源文件,比如css、js、image,

                src/main/resources/templates目录用于存放页面模板文件,比如html、jsp

        spring-boot-starter-web依赖模块默认使用嵌入式Tomcat作为Web容器对外提供服务,默认使用8080端口对外监听和提供服务,可在Maven中引入依赖替代Tomcat,如果不想使用默认的8080端口,可以通过更改application.properties配置文件中的server.port使用自己指定的端口:

server.port = 8088

  • 开发一个Spring Boot应用

使用Eclipse/IDEA作为Java IDE开发工具,使用Maven作为项目构建工具

repository用于充当本地资源库,Maven构建项目所使用的插件、第三方依赖库都集中存放在本地资源库中

选择项目类型:通常选择建立maven-archetype-quickstart(非Web项目)项目模型或者maven-archetype-webapp(Web项目)项目模型,这是两种比较常用的模型

target文件夹是源码编译后生成的class文件存放的地方

pom.xml文件是Maven的基础配置文件,也是项目中最重要的文件,被称为项目对象模型(Project Object Model)描述文件

构建基于Spring Boot的应用首先必须要将<parent.../>元素设置为Spring Boot的spring-boot-starter-parent,spring-boot-starter-parent是Spring Boot的核心启动器,包含了自动配置、日志和YAML等大量默认的配置,大大简化了开发工作

@RestController相当于SpringMVC中的@Controller + @ResponseBody

@SpringBootApplication指定这是一个Spring Boot的应用程序

SpringApplication.run(App.class,args); 用于从main方法启动Spring应用的类

从控制台启动信息可以看到Tomcat启动过程、SpringMVC加载过程,包括dispatcherServlet等

发布了20 篇原创文章 · 获赞 1 · 访问量 4906

猜你喜欢

转载自blog.csdn.net/piaoken5588/article/details/104242123