Spring Boot 学习笔记 (一)

1. Spring Boot 简介

Spring 作为一个轻量级的容器,在Java EE开发中得到了广泛的应用,但是Spring的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建了Java EE项目,Spring Boot应运而生。
Spring Boot带来了全新的自动化配置解决方案,使用Spring Boot可以快速创建基于Spring生产级的独立应用程序。Spring Boot中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只需要很少的Spring配置就能运行一个完整的Java EE应用。Spring Boot项目可以采用传统的方案打成war包,然后部署到Tomcat中运行。也可以直接打成可执行的jar包,这样通过java -jar命令就可以启动一个Spring Boot项目。总体来说,Spring Boot 主要有如下优势:

  • 提供一个快速的Spring 项目搭建渠道
  • 开箱即用,很少的Spring配置就能运行一个Java EE项目
  • 提供了生产级的服务监控方案
  • 内嵌服务器,可以快速部署
  • 提供了一系列非功能性的通用配置
  • 纯Java配置,没有代码生成,也不需要XML配置

Spring Boot是一个“年轻”的项目,发展非常迅速,特别是在Spring Boot2.0之后,许多API都有较大的变化。

1.2 第一个Spring Boot程序

Spring Boot工程可以通过很多方式来创建,最通用的方式莫过于使用Maven了,因为大多数的IDE都支持Maven。

1.2.1 创建Maven工程

这里不过多说明,Maven的介绍和安装只介绍两种创建Maven工程的方式。

1.使用命令创建Maven工程
首先可以通过Maven命令创建一个Maven工程,在cmd窗口中执行如下命令:

mvn archetype:generate -DgroupId=org.sang -DartifactId=chapter01
-DarchetypeArtifactId =maven-archetype-quickstart -DinteractiveMode=false

命令解释:

  • -DgroupId 组织Id(项目包名)
  • -DartifactId ArtifactId (项目名称或者模块名称)
  • -DarchetypeArtifactId 项目骨架
  • -DinteractiveMode 是否使用交互模式

使用命令将项目创建好之后,直接用Eclipse或者IntelliJ IDEA打开即可。

2.在IntelliJ IDEA中创建Maven工程
IntelliJ IDEA作为后起之秀,得到了越来越广泛的应用。使用IntelliJ IDEA创建Maven工程的步骤如下:

步骤1 创建项目时选择Maven,但是不必选择项目骨架,单击Next按钮即可,如图所示
在这里插入图片描述
步骤2 输入组织名称、模块名称、项目版本号等信息,如图所示
在这里插入图片描述
步骤3 选择项目位置,然后单击Finish按钮,完成项目创建,如图所示
在这里插入图片描述
这里向你们介绍了两种创建Maven工程的方式,创建成功之后,接下来添加项目依赖。

1.2.2 项目构建

1.添加依赖
首先添加spring-boot-starter-parent作为parent,代码如下:

 	<parent>
       	<groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/>
    </parent>

spring-boot-starter-parent是一个特殊的Starter,提供了一些Maven的默认配置,同时还提供了dependency-management,可以使开发者在引入其他的依赖时不必输入版本号,方便依赖管理。Spring Boot中提供了Starter非常多,这些Starter主要为第三方库提供自动配置,例如要开发一个Web项目,就可以先引入一个Web的Starter,代码如下:

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

2.编写启动类
接下来创建项目的入口类,在Maven工程的java目录下创建项目包,包里创建一个PhotoWallApplication类,代码如下:

@EnableAutoConfiguration
public class PhotoWallApplication {

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

代码解释:

  • @EnableAutoConfiguration注解表示开启自动化配置。由于项目中添加了spring-boot-starter-parent依赖,因此在开启了自动化配置之后会自动进行Spring和Spring MVC的配置。
  • 在Java项目的main方法中,通过SpringApplication中的run方法启动项目。第一个参数传入PhotoWallApplication.class,告诉Spring哪个是主要组件。第二个参数是运行时输入的其他参数。

接下来创建一个Spring MVC的控制器——HelloController,代码如下:

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String hello(){
        return "Hello Spring Boot!";
    }
}

在控制器中提供了一个“/hello”接口,此时需要配置包扫描才能将HelloController注册到Spring MVC容器中,因此在PhotoWallApplication类上面再添加一个注解@ComponentScan进行包扫描,代码如下:

@EnableAutoConfiguration
@ComponentScan
public class PhotoWallApplication {

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

也可以直接使用组合注解@SpringBootApplication来代替@EnableAutoConfiguration和@ComponentScan,代码如下:

@SpringBootApplication
public class PhotoWallApplication {

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

1.2.3 项目启动

启动项目有三种不同的方式,下面一一介绍。
1.使用Maven命令启动
可以直接使用mvn命令启动项目,命令如下:

mvn spring-boot:run

启动成功后,在浏览器地址栏输入http://localhost:8080/hello即可看到运行结果。

在这里插入图片描述
2.直接运行main方法
直接在IDE中运行PhotoWallApplication类的main方法,就可以看到项目启动了。
在这里插入图片描述
启动成功后,也可以在浏览器中直接访问/hello接口。

3.打包启动
当然,Spring Boot应用也可以直接打成jar包运行。在生产环境中,也可以通过这样的方式来运行一个Spring Boot应用。要将Spring Boot打成jar包运行,首先需要添加一个plugin到pom.xml文件中,代码如下:

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

然后运行mvn命令进行打包,代码如下:

mvn package

打包完成后,在项目的target目录下会生成一个jar文件,通过java -jar命令直接启动这个jar文件。
在这里插入图片描述

1.3 Spring Boot的简便创建方式

上面介绍的创建方式步骤有点多。在实际项目中,可结合具体的开发环境选择更简便的项目创建方式。下面介绍三种快捷创建方式。

1.3.1 在线创建

在线创建是Spring Boot官方提供的一种创建方式,在浏览器中输入网址https://start.spring.io ,可以看到如图所示的页面。
在这里插入图片描述
在这个页面中,可以选择项目的构建工具是Maven还是Gradle、语言是Java还是其他、要使用的Spring Boot版本号、项目的组织Id(包名)、模块名称以及项目的依赖。所有这些信息选好或填好后,单击Generate Project按钮将生成的模板下载到本地,解压后用IDE打开即可开始项目的开发。

1.3.2 使用IntelliJ IDEA创建

如果使用的开发工具是IntelliJ IDEA,那么可以直接创建一个Spring Boot项目,但是注意直接创建Spring Boot项目这个功能在社区版的IntelliJ IDEA上是不存在的。创建方法如下:
步骤1 创建项目时选择Spring Initializr,如图所示
在这里插入图片描述
步骤2 输入项目基本信息,如图所示
在这里插入图片描述
在这里输入项目的基本信息,包括组织Id、模块名称、项目构建类型、最终生成包的类型、Java的版本、开发语言、项目版本号、项目名称、项目描述以及项目的包。

步骤3 选择项目所需要添加的依赖,之后IntelliJ IDEA会自动把选中的依赖添加到项目的pom.xml文件中。在这里插入图片描述

步骤4 选择项目创建路径,如图所示
在这里插入图片描述
经过上面的4个步骤之后,一个可运行的Spring Boot项目就创建完成了。

1.3.3 使用STS创建

也有开发者习惯使用STS创建。在STS中创建Spring Boot项目也很方便:首先右击,选择New→Spring Starter Project,然后在新页面中配置Spring Boot项目的基本信息(配置和IntelliJ IDEA的基本一致,不再累赘),最后选择需要添加的Starter,选择完成后,单击Finish按钮完成项目创建。

1.4 小结

本文向大家介绍了一个简单的Spring Boot项目的基本创建过程,从而让读者感受到Spring Boot的魅力。当一个Spring Boot项目创建成功之后,几乎零配置,开发者就可以直接使用Spring和Spring MVC中的功能了。后续小怪还会进一步的详细介绍Spring Boot的知识。希望能够帮助到您,谢谢支持!

springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 核心容器CoreContainer Spring-Core Spring-Beans Spring-Context Spring-Context-Support Spring-Expression AOP Spring-AOP Spring-Aspects Messaging Spring-Messaging WEB Spring-Web Spring-Webmvc Spring-WebSocket Spring-Webmvc-Portlet 数据访问/集成(DataAccess/Intefration) Spring-JDBC Spring-TX Spring-ORM Spring-OXM Spring-JMS Spring的生态 Spring Boot Spring XD Spring Cloud Spring Data Spring Integration Spring Batch Spring Security Spring HATEOAS Spring Social Spring AMQP Spring Mobile Spring for Android Spring Web Flow Spring Web Services Spring LDAP Spring Session Spring项目快速搭建 Maven简介 Maven安装 Maven的pom.xml dependencies dependency 变量定义 编译插件 Spring项目的搭建 Spring Tool Suite https://spring.io/tools/sts/all IntelliJ IDEA NetBeans https://netbeans.org/downloads/ Spring基础配置 依赖注入 声明Bean的注解 @Component组件,没有明确的角色 @Service在业务逻辑层(service层) @Repository在数据访问层(dao层) @Controller在展现层(MVC→SpringMVC) 注入Bean的注解 @Autowired:Spring提供的注解 @Inject:JSR-330提供的注解 @Resource:JSR-250提供的注解 Java配置 @Configuration声明当前类是一个配置类 @Bean注解在方法上,声明当前方法的返回值为一个Bean AOP @Aspect 声明是一个切面 拦截规则@After @Before @Around PointCut JoinPoint Spring常用配置 Bean的Scope Singleton Prototype Request Session GlobalSession SpringEL和资源调用 注入普通字符 注入操作系统属性 注入表达式云算结果 注入其他Bean的属性 注入文件内容 注入网址内容 注入属性文件 Bean的初始化和销毁 Java配置方式 注解方式 Profile @Profile 通过设定jvm的spring.profiles.active参数 web项目设置在Servlet的context parameter中 事件Application Event 自定义事件,集成ApplicationEvent 定义事件监听器,实现ApplicationListener 使用容器发布事件 Spring高级话题 Spring Aware BeanNameAware BeanFactoryAware
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monster_起飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值