第一篇:SpringBoot 介绍和基本配置

第一:什么是SpringBoot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot其实就是一个整合很多可插拔的组件(框架),内嵌了使用工具(比如内嵌了Tomcat、Jetty等),方便开发人员快速搭建和开发的一个框架。

第二: SpringBoot 核心功能

  1. 独立运行的项目
    SPringBoot项目可以打成 jar 包的形式独立运行,通过 java -jar xxx.jar 来运行。
  2. 内置 Servlet 容器
    SpringBoot 可以选择内置 Tomcat、Jetty 或者 Undertow,这样我们无须以war包的形式放入Tomcat内部署。
  3. 提供 starter 简化 Maven 配置
    Spring 提供了一系列的 starter pom 来简化 Maven的依赖加载。
  4. 自动配置 Spring
    SpringBoot 会根据类路径的 jar 包、类, 为 jar 包里的类自动配置 Bean, 这样会极大的减少我们要使用的配置。
  5. 无代码生成和 xml 配置
    SpringBoot 4.x 提倡使用 Java 配置和注解配置结合,而 SpringBoot 不需要任何 xml 配置即可实现 Spring 的所有配置。

第三:SpringBoot 的优缺点

  1. 快速搭建
  2. 配置 web.xml,加载 Spring 和 Spring MVC
  3. 配置数据库连接、配置 Spring 事务
  4. 加载配置文件的读取,开启注解
  5. 配置日志文件
  6. 配置完成之后部署 Tomcat 调试
  7. 创建独立的Spring应用程序
  8. 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
  9. 完全没有代码生成,也不需要XML配置

第四:SpringBoot 快速搭建

  1. 方式一:
    在浏览器输入: http://start.spring.io
    在这里插入图片描述
  • Project:选择Maven项目或者Gradle项目(目前Maven比较流行)
  • Language:Java 语言
  • SpringBoot:版本
  • Project Metadata:填写包名、项目名、选择 Jar 包的方式(内置Tomcat)、选择 Java 版本
  • 点击 Generate - Ctrl 生成项目下载
  • 之后导入到开发工具即可
  1. 方式二:
  • 打开 idea,点击 File --> New --> Project --> 选择Spring Initializer
    在这里插入图片描述
  • 填写好包名以及项目名
    在这里插入图片描述
  • 加入spring-boot-web的依赖包,Next 之后点击 Ok
    在这里插入图片描述
  • 运行项目,找到包路径下的 CoindevinApplication , 这是项目的主程序入口,右键 Run 即可运行,默认端口为 8080
@SpringBootApplication
public class CoindevinApplication {

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

}

控制台:运行成功一个简单的项目就搭建起来了,是不是特别简单。
在这里插入图片描述

第五:项目结构介绍

在这里插入图片描述
如上图所示,Spring Boot 的基础结构共三个文件:

src/main/java:程序开发以及主程序入口
src/main/resources:配置文件
src/test/java:测试程序
另外,Sping Boot 建议的目录结果如下:

myproject
 +-src
    +- main
         +- java
              +- com.coin.coindevin
                    +- comm
                    +- domain
                    +- repository
                    +- service
                    +- web
                    +- CoindevinApplication.java
         +- resources
              +- static
              +- templates
              +- application.properties
    +- test
 +-pom.xml

com.example.myproject 目录下:

  • CoindevinApplication.java:建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 - main() 方法。
  • comm:目录建议放置公共的类,如全局的配置文件、工具类等。
  • domain:目录主要用于实体(Entity)与数据访问层(Repository)。
  • repository:数据库访问层代码。
  • service:该层主要是业务类代码。
  • web:该层负责页面访问控制。

resources 目录下:

  • static:目录存放 Web 访问的静态资源,如 JS、CSS、图片等。
  • templates:目录存放页面模板。
  • application.properties:项目的配置信息。

第六:简单 Web 开发,编写 HelloWorld

  1. 在 Controller 包下,建立一个 HelloController
@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String getHello(){
        return "hello world";
    }
}
  1. 编写测试类,或者打开浏览器输入:http://localhost:8080/hello
@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloTest {

    @Autowired
    private HelloController helloController;

    @Test
    public void getTest(){
        System.out.println("测试SpringBoot项目:" + helloController.getHello());
    }
}
  1. 右键 Run 运行测试,控制台输出
2020-01-18 10:16:06.258  INFO 9060 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-01-18 10:16:06.613  INFO 9060 --- [           main] com.coin.coindevin.HelloTest             : Started HelloTest in 4.747 seconds (JVM running for 5.609)
测试SpringBoot项目:hello world
2020-01-18 10:16:06.690  INFO 9060 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2020-01-18 10:16:06.691  INFO 9060 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-01-18 10:16:06.693  INFO 9060 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2020-01-18 10:16:06.697  INFO 9060 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Process finished with exit code 0
发布了29 篇原创文章 · 获赞 43 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CSDN_Qiang17/article/details/104831562