1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/GiteeOS-springboot-guide

Клонировать/Скачать
springboot-hello-world.md 8.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.06.2025 10:20 f496caa

Пример адреса исходного кода проекта: https://github.com/CodingDocs/springboot-guide/tree/master/source-code/hello-world.

Создание нового проекта Spring Boot

1. Вы можете использовать https://start.spring.io/ для генерации нового проекта Spring Boot.

start.spring.io

Не забудьте выбрать модуль Spring Web, так как это необходимая зависимость. После того, как все опции выбраны, нажмите кнопку Generate для загрузки проекта Spring Boot. После завершения загрузки и распаковки проекта, вы можете открыть его в IDEA.

Кроме того, есть похожий сайт от Alibaba https://start.aliyun.com/bootstrap.html, который предлагает еще больше возможностей для генерации проектов с определенной архитектурой!

2. Вы также можете создать проект Spring Boot прямо в IDEA, используя методы, аналогичные вышеописанным: File->New->Project->Spring Initializr.

Анализ структуры проекта Spring Boot

После успешного открытия проекта, он будет выглядеть следующим образом:

Java-классы, имеющие суффикс Application, обычно являются запускающими классами Spring Boot. Например, запускающий класс нашего проекта — это HelloWorldApplication. Мы можем запустить его как обычный Java-проект. Из-за того, что Spring Boot встроен в servlet-контейнер, наш веб-проект успешно запускается, что очень удобно.Важно отметить, что запускающий класс Spring Boot должен быть на самом верхнем уровне, иначе некоторые классы могут не быть правильно сканированы, что может привести к различным проблемам. Обычно структура проекта Spring Boot выглядит следующим образом:

com
  +- example
    +- myproject
      +- Application.java
      |
      +- domain
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
      +- config
      |  +- swaggerConfig.java
      |
  1. Application.java — это запускающий класс проекта.
  2. Директория domain主要用于实体(Entity)与数据访问层(Repository).
  3. Слой service содержит бизнес-логику.
  4. Слой controller отвечает за управление доступом к страницам.
  5. Директория config содержит различные конфигурационные классы.## Анализ аннотации @SpringBootApplication

HelloWorldApplication

@SpringBootApplication
public class HelloWorldApplication {

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

}

Когда речь заходит о запуске приложения Spring Boot, не обойти стороной аннотацию @SpringBootApplication. Код этой аннотации представлен ниже:

package org.springframework.boot.autoconfigure;
@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 {
   ......
}
package org.springframework.boot;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
```}

Из этого можно сделать вывод, что аннотация @SpringBootApplication объединяет в себе аннотации @Configuration, @EnableAutoConfiguration и @ComponentScan. Согласно официальной документации Spring Boot, эти аннотации выполняют следующие функции:

  • @EnableAutoConfiguration: Включает автоматическую настройку Spring Boot.
  • @ComponentScan: Сканирует компоненты, помеченные аннотациями @Component (@Service, @Controller), по умолчанию сканирует все классы в пакете, содержащем данный класс.
  • @Configuration: Разрешает регистрацию дополнительных bean или импорт других конфигурационных классов в контексте.

Таким образом, аннотация @SpringBootApplication представляет собой комбинацию важных аннотаций, что позволяет упростить процесс разработки Spring Boot приложений, избегая необходимости вручную добавлять эти аннотации каждый раз.

Создание нового контроллера

После всех этих объяснений, давайте начнем писать "Hello World" на Spring Boot.

Создайте папку controller и в ней создайте класс с именем HelloWorldController.

Аннотация @RestController была добавлена в Spring 4. Если вы разрабатывали RESTful веб-сервисы до версии Spring 4, вам пришлось бы использовать аннотации @Controller и @ResponseBody, то есть @Controller + @ResponseBody = @RestController. Эти аннотации подробно рассматриваются в отдельной статье базового уровня.

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
``````java
@RestController
@RequestMapping("test")
public class HelloWorldController {
    @GetMapping("hello")
    public String sayHello() {
        return "Привет Мир";
    }
}

По умолчанию Spring Boot проект использует порт 8080. Если вы хотите изменить порт, достаточно изменить файл конфигурации application.properties.

src/main/resources/application.properties

server.port=8333

Проект успешно запущен

Запустите HelloWorldApplication. При успешном запуске в консоли будут выведены сообщения, содержащие полезную информацию.

2019-10-03 09:24:47.757  INFO 26326 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8333 (http) with context path ''

Это пример вывода консоли, который показывает, что Spring Boot использует встроенный сервер Tomcat, и проект запущен на порту 8333 с корневым контекстом "/".

Если вы можете получить "Привет Мир" в браузере по адресу http://localhost:8333/test/hello, значит вы успешно завершили эту часть.

Заключение

В этой статье мы узнали, как создавать проекты на Spring Boot, анализировать структуру проекта, а также изучили аннотацию @SpringBootApplication. В конце мы создали версию "Привет Мир" на Spring Boot.


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/GiteeOS-springboot-guide.git
git@api.gitlife.ru:oschina-mirror/GiteeOS-springboot-guide.git
oschina-mirror
GiteeOS-springboot-guide
GiteeOS-springboot-guide
master