Spring Boot系列 —(一)手把手搭建 SpringBoot 项目

新建 SpringBoot 项目

直接通过 IDEA 来生成一个 Spring Boot 的项目,具体方法和上面类似:File->New->Project->Spring Initializr 

注意勾选上 Spring Web 这个模块,这是我们所必需的一个依赖。当所有选项都勾选完毕之后,点击下方的按钮 Generate 下载这个 Spring Boot 的项目。下载完成并解压之后,我们直接使用 IDEA

项目结构分析

创建好项目后,自动生成项目结构如下图所示

以 Application 为后缀名的 Java 类一般就是 Spring Boot 的启动类,比如本项目的启动项目就是 SpringbootProjApplication 。我们直接像运行普通 Java 程序一样运行它,由于 Spring Boot 本身就嵌入 servlet 容器的缘故,我们的 web 项目就运行成功了, 非常方便。

需要注意的一点是 Spring Boot 的启动类是需要最外层的,不然可能导致一些类无法被正确扫描到,导致一些奇怪的问题。 一般情况下 Spring Boot 项目结构类似下面这样

com
  +- yidahu
    +- springbootproj
      +- SpringbootProjApplication.java
      |
      +- domain
      |  +- User.java
      |
      +- repository
      |  +- UserRepository.java
      |
      +- service
      |  +- UserService.java
      |
      +- controller
      |  +- UserController.java
      |
      +- config
      |  +- swagerConfig.java
      |
  1. Application.java 是项目的启动类
  2. domain 目录主要用于实体(Entity)
  3. repository 居于业务层和数据层之间,将两者隔离开来,在它的内部封装了数据查询和存储的逻辑
  4. service 层主要是业务类代码
  5. controller 负责页面访问控制
  6. config 目录主要放一些配置类

@SpringBootApplication 注解分析

SpringbootProjApplication.java

@SpringBootApplication
public class SpringbootProjApplication {

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

@SpringBootApplication ,这个注解的相关代码如下:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
    @AliasFor(
        annotation = EnableAutoConfiguration.class
    )
    Class<?>[] exclude() default {};
    ....
}

SpringBootConfiguration.java

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
    @AliasFor(
        annotation = Configuration.class
    )
    boolean proxyBeanMethods() default true;
}

可以看出大概可以把 @SpringBootApplication 看作是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。根据 SpringBoot 官网,这三个注解的作用分别是:

@EnableAutoConfiguration:启用 SpringBoot 的自动配置机制 @ComponentScan: 扫描被@Component (@Service,@Controller)注解的 bean,注解默认会扫描该类所在的包下所有的类。 @Configuration:允许在上下文中注册额外的 bean 或导入其他配置类。 所以说 @SpringBootApplication 就是几个重要的注解的组合,为什么要有它?当然是为了省事,避免了我们每次开发 Spring Boot 项目都要写一些必备的注解。这一点在我们平时开发中也经常用到,比如我们通常会提一个测试基类,这个基类包含了我们写测试所需要的一些基本的注解和一些依赖。

新建 Controller

上面说了这么多,我们现在正式开始写 Spring Boot 版的 “Hello World” 吧。

新建一个 controller 文件夹,并在这个文件夹下新建一个名字叫做 HelloWorldController 的类。

@RestController 是 Spring 4 之后新加的注解,如果在 Spring4 之前开发 RESTful Web 服务的话,你需要使用@Controller 并结合@ResponseBody 注解,也就是说@Controller +@ResponseBody= @RestController。对于这两个注解,我在基础篇单独抽了一篇文章来介绍。

com.yidahu.springbootbase.controller

@RestController
@RequestMapping("springboot")
public class HelloWorldController {

    @GetMapping("/hello")
    public String getHello() {
        return "Hello SpringBoot !";
    }
}

默认情况下,Spring Boot 项目会使用 8080 作为项目的端口号。如果我们修改端口号的话,非常简单,直接修改 application.properties 配置文件即可。

src/main/resources/application.properties

server.port=8080

运行项目

运行 SpringbootProjApplication ,运行成功控制台会打印出一些消息,不要忽略这些消息,它里面会有一些比较有用的信息

通过 GET 方式访问http://localhost:8080/springboot/hello就可以获取到返回数据了

总结

通过本文我们学到了如何新建 Spring Boot 项目、SpringBoot 项目常见的项目结构分析、@SpringBootApplication 注解分析,最后实现了 Spring Boot 版的 "Hello SpringBoot !"。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot Admin 是一个开源的管理工具,可以用来监控和管理 Spring Boot 应用程序,提供了一系列功能,如应用程序的状态监控、堆栈跟踪、日志级别控制等。下面是搭建 Spring Boot Admin 的步骤: 1. 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.3.1</version> </dependency> ``` 2. 在启动类上添加注解@EnableAdminServer: ```java @SpringBootApplication @EnableAdminServer public class SpringBootAdminApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAdminApplication.class, args); } } ``` 3. 配置被监控的应用程序,在被监控的应用程序的 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.3.1</version> </dependency> ``` 4. 在被监控的应用程序的配置文件中添加以下配置: ```yaml spring.boot.admin.client.url: http://localhost:8080 spring.boot.admin.client.username: admin spring.boot.admin.client.password: admin ``` 其中,`spring.boot.admin.client.url` 指向 Spring Boot Admin 服务器的地址,`spring.boot.admin.client.username` 和 `spring.boot.admin.client.password` 是访问 Spring Boot Admin 服务器的用户名和密码。 5. 启动 Spring Boot Admin 服务器和被监控的应用程序,访问 http://localhost:8080 即可查看被监控的应用程序的状态信息。 以上就是搭建 Spring Boot Admin 的简单步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值