maven 搭建springboot项目及一些基本内容

首先在Idea中新建项目,按照以上的选择创建

更改maven设置

在pox.xml中添加springboot依赖

搭建一个基于 Maven 的 Spring Boot 项目的基本步骤如下:

1. 安装 Java 和 Maven:
    确保你的系统已经安装了 Java 和 Maven。你可以在命令行中运行 `java -version` 和 `mvn -version` 来检查是否安装正确。

2. 创建 Maven 项目:
   使用命令行工具或 IDE 创建一个新的 Maven 项目。例如在命令行中运行 mvn archetype:generate 并选择 maven-archetype-quickstart 或 maven-archetype-webapp模板。

3. 添加 Spring Boot 依赖:
    在项目的 `pom.xml` 文件中添加 Spring Boot 的 parent 依赖:
     xml
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.7.0</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     
   添加所需的 Spring Boot 启动器依赖,例如 spring-boot-starter-web用于 Web 应用程序:
     xml
     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
     </dependencies>
     

4. 创建 Spring Boot 应用程序类:
   在 src/main/java目录下创建一个新的 Java 类,并在类上添加 `@SpringBootApplication` 注解:
     java
     @SpringBootApplication
     public class MyApplication {
         public static void main(String[] args) {
             SpringApplication.run(MyApplication.class, args);
         }
     }
     

5. 添加 Spring Boot 配置:
   在 src/main/resources目录下创建一个 application.properties或 application.yml文件,在这里配置 Spring Boot 应用程序的设置,如服务器端口、数据库连接等。

6. 编写 Spring Boot 控制器:
   在 src/main/java目录下创建一个新的 Java 类,添加 Spring MVC 注解如 @Controller或 @RestController,编写处理 HTTP 请求的方法。

7. 运行 Spring Boot 应用程序:
   在命令行中运行 mvn spring-boot:run命令,或在 IDE 中右击 MyApplication 类并选择 "Run As" > Spring Boot App。

8. 构建和部署:
    使用 mvn package命令构建可执行的 JAR 文件。
   将构建好的 JAR 文件部署到目标环境中。

约定大于配置

"约定大于配置"这句话是 Spring Boot 等框架的设计理念之一,它体现了以下几个方面的含义:

1. 减少配置工作量:
   - 传统的 Java Web 开发通常需要大量的配置工作,如定义 Servlet、Filter、Listener 等组件,并在各种配置文件中进行大量的配置。
   - "约定大于配置"的理念允许框架根据约定的默认行为来减少大量的配置,开发者只需要关注业务逻辑的开发,而不需要过多地关注基础设施的配置。

2. 提高开发效率:
   - 当遵循框架的约定时,开发者可以更快地开始开发,而不需要花费大量时间来理解和配置整个系统。
   - 这种方式可以帮助开发者更快地构建原型和迭代产品,提高开发效率。

3. 提高可读性和可维护性:
   - 当大家都遵循同样的约定时,代码结构和功能会更加一致,提高了代码的可读性和可维护性。
   - 开发者可以更容易地理解和修改其他人编写的代码,因为他们都遵循相同的约定。

4. 灵活性和扩展性:
   - 虽然框架提供了默认的约定,但仍然保留了灵活性,允许开发者在需要时进行自定义配置。
   - 这种方式可以满足不同项目的个性化需求,同时也保持了整体的一致性。

IoC(Inversion of Control,控制反转)和 DI(Dependency Injection,依赖注入)


IoC(控制反转):


IoC 是一种设计思想,它颠覆了传统的编程方式。
在传统的编程方式中,对象的创建和依赖关系的管理都由开发者自己控制。
而在 IoC 中,对象的创建和依赖关系的管理由容器(如 Spring 框架)来完成,开发者只需要声明依赖关系,而不需要关心具体的实现。


DI(依赖注入):


DI 是 IoC 的一种实现方式。
在 DI 中,当一个对象需要另一个对象作为依赖时,不是由该对象自己创建或查找依赖对象,而是由容器在创建该对象时,将依赖对象注入(Inject)到该对象中。


IoC 和 DI 的作用:


解耦: IoC 和 DI 将对象的创建和依赖关系的管理从应用程序中分离出来,降低了代码的耦合度,提高了模块的独立性和可重用性。
灵活性: 通过 IoC 和 DI,可以更方便地切换不同的实现,提高了系统的灵活性和扩展性。
testability: 由于依赖关系的管理由容器负责,可以更容易地进行单元测试。


Spring 中的 IoC 和 DI:


Spring 框架是 IoC 和 DI 的典型实现。
Spring 容器负责创建对象,管理对象之间的依赖关系,并在需要时将依赖对象注入到目标对象中。
开发者只需要在 Spring 的配置文件或注解中声明依赖关系,Spring 就会自动完成对象的创建和依赖注入。

一些注解的作用和使用场景:

  • @SpringBootApplication

    • 作用:标记一个主程序类,表示这是一个Spring Boot应用的入口点。它包含了@ComponentScan、@EnableAutoConfiguration和@SpringBootConfiguration三个注解。
    • 使用场景:通常放在启动类上,用于启动Spring Boot应用程序。
  • @RestController

    • 作用:结合了@Controller和@ResponseBody,表示该类处理HTTP请求并返回JSON或XML等内容。
    • 使用场景:用于定义RESTful风格的控制器类。
  • @Service

    • 作用:标记一个类作为服务层(Service层)的Bean。
    • 使用场景:通常用于定义业务逻辑的服务类,处理复杂的业务逻辑。
  • @Repository

    • 作用:标记一个类作为数据访问层(DAO层)的Bean。
    • 使用场景:用于数据库操作、数据存取等持久化操作。
  • @Component

    • 作用:通用的Spring组件标记注解,表明一个类被Spring容器管理。
    • 使用场景:用于任何类,作为通用的Bean标记,通常与@ComponentScan结合使用来扫描和注册Bean。
  • @Configuration

    • 作用:标记一个类为配置类,相当于Spring的XML配置文件。
    • 使用场景:通常与@Bean结合使用,用于定义Bean的配置信息。
  • @Bean

    • 作用:在@Configuration类中,使用@Bean注解方法,将方法返回的对象注册为Spring容器中的Bean。
    • 使用场景:用于定义Bean,替代XML配置文件中的<bean>标签。
  • @Autowired

    • 作用:实现依赖注入,自动装配Spring容器中的Bean。
    • 使用场景:用于注入其他Spring管理的Bean到当前类中,可以用在构造方法、成员变量、Setter方法或者其他自定义方法上。
  • @Value

    • 作用:从配置文件中读取属性值,注入到Spring容器管理的Bean中。
    • 使用场景:常用于注入配置文件中的属性值,如数据库连接信息、端口号等。
  • @RequestMapping

    • 作用:用于映射HTTP请求的URL路径到具体的方法处理器上。
    • 使用场景:定义Controller类中的请求处理方法的映射路径。
  • @PathVariable

    • 作用:获取请求路径中的占位符参数值。
    • 使用场景:常用于RESTful风格的URL中,获取动态的URL路径参数。
  • @GetMapping、@PostMapping、@PutMapping、@DeleteMapping

    • 作用:组合注解,分别用于处理HTTP GET、POST、PUT、DELETE请求。
    • 使用场景:替代@RequestMapping注解,使得代码更加清晰和语义化。

几种常见的Spring Bean作用域及其解释:

  • Singleton(单例模式)

    • 作用:在整个Spring容器中,每个Bean定义都只有一个实例。
    • 默认值:如果不指定作用域,则默认为Singleton。
    • 特点:所有对该Bean的请求都会返回同一个实例,Spring容器管理该实例的生命周期,初始化后一直存在于容器中,直到容器关闭或Bean销毁。
  • Prototype(原型模式)

    • 作用:每次请求Bean时,容器都会创建一个新的实例。
    • 特点:与Singleton不同,每次依赖注入或通过getBean()方法获取时,都会创建一个新的Bean实例,每个实例可以拥有独立的状态。
  • Request(请求作用域,适用于Web环境)

    • 作用:每个HTTP请求都会创建一个新的Bean实例。
    • 特点:在Web应用中,每次HTTP请求到达时,Spring容器会创建一个新的Bean实例,并且该Bean仅在当前请求的范围内有效。通常用于处理每个请求的数据和业务逻辑。
  • Session(会话作用域,适用于Web环境)

    • 作用:每个HTTP会话(Session)都会创建一个新的Bean实例。
    • 特点:在Web应用中,每个用户会话(Session)期间,Spring容器会保持一个Bean实例,并在会话结束时销毁。适合存储和管理用户的会话状态信息。
  • GlobalSession(全局会话作用域,适用于Portlet环境)

    • 作用:在Portlet环境下,每个全局会话(Global Session)都会创建一个新的Bean实例。
    • 特点:类似于Session作用域,但适用于Portlet应用程序,其中Global Session的生命周期超出了普通HTTP会话。

springbean的生命周期

  1. 实例化(Instantiation)

    • 当容器需要一个Bean实例时,根据配置信息(如XML配置或注解),Spring会实例化Bean。实例化可以通过构造方法或者工厂方法来完成。
  2. 依赖注入(Dependency Injection)

    • 容器在创建Bean实例后,会注入Bean所需要的依赖(依赖注入),即将其他Bean或者资源注入到当前Bean中的属性中。
  3. 设置Bean属性(Populate Properties)

    • 当依赖注入完成后,Spring会将配置的属性值或者引用设置到Bean的对应属性中,这一过程通常是通过setter方法完成的。
  4. Bean初始化(Initialization)

    • 如果Bean实现了InitializingBean接口,Spring会调用其afterPropertiesSet()方法进行初始化。另外,如果Bean在配置文件中配置了init-method,Spring也会调用指定的初始化方法。
    • 在这一阶段,开发者可以进行一些自定义的初始化操作,例如数据校验、资源加载等。
  5. Bean可用(Bean Ready for Use)

    • 此时Bean已经被完全初始化,并且可以被应用程序使用了。
  6. Bean销毁前(Destruction)

    • 当Spring容器关闭时,或者在不再需要某个Bean实例时,容器会调用Bean的销毁方法。
    • 如果Bean实现了DisposableBean接口,Spring会调用其destroy()方法进行销毁。另外,如果Bean在配置文件中配置了destroy-method,Spring也会调用指定的销毁方法。
    • 在销毁阶段,开发者可以进行一些清理资源、释放连接等操作。
  7. Bean销毁(Bean Destruction)

    • 当销毁方法执行完成后,Bean实例被销毁,释放其占用的资源。

### 回答1: 我可以为您提供一些关于如何使用Maven来构建Spring Boot项目的建议:1.在您的计算机上安装Maven;2.使用Maven来创建Spring Boot项目;3.使用Maven来配置Spring Boot项目;4.使用Maven来编译和运行Spring Boot项目。 ### 回答2: Maven是一个Java项目构建工具,可以方便地管理项目依赖、构建和部署等工作。而Spring Boot是一个基于Spring框架的快速开发框架,能够简化Spring应用程序的搭建和部署过程。 下面是使用Maven搭建Spring Boot项目的步骤: 1. 安装Maven:首先需要在本地计算机上安装Maven工具,可以从官方网站下载安装包,并按照指引进行安装。 2. 创建新项目:打开终端或命令提示符,进入要创建项目的目录,然后执行以下命令创建一个新的Maven项目: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 上述命令将根据Maven的`maven-archetype-quickstart`模板创建一个新项目。 3. 导入Spring Boot依赖:在项目的`pom.xml`文件中,添加Spring Boot的依赖,可以根据需要添加不同的模块,例如Web模块、数据访问模块等。 4. 编写Spring Boot应用程序:创建一个Java类,作为Spring Boot应用的入口点,使用Spring Boot的注解和配置来定义应用程序的行为和特性。 5. 打包项目:执行`mvn clean package`命令,将项目打包成可执行的jar文件。 6. 运行项目:使用`java -jar`命令来启动Spring Boot应用程序,例如`java -jar my-project.jar`。 通过以上步骤,就可以使用Maven快速搭建一个Spring Boot项目了。在项目构建过程中,Maven会自动下载和管理项目所需的依赖,简化了项目配置和管理的工作。同时,Spring Boot框架提供了丰富的功能和约定,使得开发者能够快速地构建出高效、可靠的Java应用程序。 ### 回答3: Maven是一种基于Java的项目管理工具,可以用来管理项目的构建、依赖关系和发布等方面。搭建Spring Boot项目时,可以使用Maven来简化项目的管理和构建过程。 首先,需要在本地安装Maven,并确保Maven的环境变量配置正确。 接下来,可以使用Maven的命令行工具或者使用集成开发环境(IDE)来创建一个新的Spring Boot项目。在命令行中,可以使用`mvn archetype:generate`命令来生成一个基础的Spring Boot项目。 在生成项目时,可以选择相应的Spring Boot版本、项目的groupId和artifactId等信息。生成项目后,可以使用IDE打开项目,并将其导入为Maven项目。 在项目的pom.xml文件中,可以定义项目的依赖关系和插件配置。通过在dependencies标签中添加需要的依赖,可以引入Spring Boot及其相关的第三方库。同时,也可以配置Maven打包时的插件,以及其他项目的构建参数。 在完成依赖关系的配置后,可以使用Maven的命令行工具或IDE提供的Maven插件来构建、运行和发布Spring Boot项目。 通过运行`mvn clean install`命令,可以使用Maven编译项目、运行测试并将可执行的jar包安装到本地的Maven仓库中。 通过运行`mvn spring-boot:run`命令,可以直接在开发环境中运行Spring Boot应用。 通过运行`mvn package`命令,可以将项目打包为可执行的jar包或war包,用于部署到服务器上。 总而言之,使用Maven搭建Spring Boot项目可以简化项目的管理、依赖关系的维护和项目的构建过程。通过合理配置pom.xml文件,可以方便地添加所需的依赖和插件,提高项目的开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值