第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

SpringBoot項(xiàng)目開發(fā)學(xué)習(xí):從入門到實(shí)踐

標(biāo)簽:
Java SpringBoot
概述

本文详细介绍了SpringBoot项目开发学习的全过程,从SpringBoot的基础概念和优势,到开发环境搭建和项目基本结构的详解,再到实战开发和常用功能的深入剖析,帮助读者快速掌握SpringBoot项目的开发技巧。

SpringBoot项目开发学习:从入门到实践
SpringBoot简介

什么是SpringBoot

Spring Boot 是由Spring团队提供的一个用于简化新Spring应用初始搭建以及开发过程的框架。Spring Boot旨在简化Spring应用的初始搭建以及开发过程,通过提供默认配置和自动配置,使得开发者可以快速搭建一个独立的、可运行的Spring应用。它基于Spring框架和Spring生态系统提供的各种库,使得开发者可以快速创建一个独立的、生产级别的应用。

SpringBoot的优势

  1. 快速启动应用:Spring Boot提供了很多默认配置,简化了项目的启动过程。
  2. 自动配置:Spring Boot可以根据类路径中的jar包自动配置Spring应用。
  3. 嵌入式服务器:Spring Boot可以内嵌Tomcat、Jetty、Undertow等服务器,使得应用可以直接运行。
  4. 无代码生成和XML配置:Spring Boot推崇“约定优于配置”的原则,大部分配置都可以通过注解和属性文件完成。
  5. 生产就绪特性:提供命令行运行、嵌入式服务器、应用监控、线程池、错误处理等功能,减少了生产环境部署的复杂度。
  6. 内置健康检查:提供了一套健康检查工具,帮助开发者了解应用的运行状态。
  7. Spring Cloud集成:Spring Boot与Spring Cloud集成,可以快速构建分布式的微服务应用。

SpringBoot的开发环境搭建

安装Java和Maven

  1. 安装Java:确保已安装Java开发工具包(JDK),并且环境变量已设置正确。
  2. 安装Maven:下载Maven并配置环境变量,确保可以从命令行访问Maven命令。
  3. IDE配置:推荐使用IntelliJ IDEA或Spring Tool Suite(STS)作为开发工具,并安装相应的插件用于Spring Boot项目开发。

安装和配置Spring Tool Suite (STS)

  1. 下载STS:访问STS官网下载适用于您的操作系统的STS版本。
  2. 安装STS:完成STS的安装过程,安装完成后启动STS。
  3. 配置STS:在STS中安装Spring Boot插件,以便支持Spring Boot项目开发。

创建一个Spring Boot项目

可以使用Spring Initializr(https://start.spring.io/)快速创建一个Spring Boot项目。选择合适的Spring Boot版本、依赖和项目信息,并下载生成的项目文件夹,然后导入到IDE中进行开发。

Maven/Gradle依赖管理

Maven依赖管理

Maven是Spring Boot项目中最常用的构建工具之一。以下是一个简单的Maven pom.xml示例:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Gradle依赖管理

Gradle是另一种流行的构建工具,以下是Gradle的build.gradle示例:

plugins {
    id 'org.springframework.boot' version '2.7.3'
    id 'io.spring.dependency-management' version '1.0.12.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
SpringBoot项目的基本结构

项目目录结构详解

一个标准的Spring Boot项目结构如下:

src
└───main
    ├───java
    │   └───com
    │       └───example
    │           └───demo
    │               ├───controller
    │               │   └───HelloController.java
    │               ├───service
    │               │   └───HelloService.java
    │               └───DemoApplication.java
    └───resources
        ├───application.properties
        └───static
            └───index.html
  • src/main/java/:存放Java源代码文件。
  • src/main/resources/:存放静态资源文件(例如:HTML文件、图片、CSS、JavaScript等)和配置文件。
  • DemoApplication.java:主类,包含main方法,通过SpringApplication.run启动应用。
  • HelloController.java:控制器类,实现RESTful API。
  • HelloService.java:服务类,实现业务逻辑。
  • application.properties:配置文件,存放应用配置。

配置文件介绍(application.properties/application.yml)

Spring Boot支持两种配置文件格式:application.propertiesapplication.yml。默认使用application.properties,如需使用application.yml,需要在pom.xmlbuild.gradle中进行相应配置。

application.properties示例

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

application.yml示例

server:
  port: 8080
spring:
  datasource:
  url: jdbc:mysql://localhost:3306/demo
  username: root
  password: root
  driver-class-name: com.mysql.cj.jdbc.Driver
SpringBoot的基本功能介绍

自动配置

Spring Boot通过@SpringBootApplication注解自动配置Spring应用。@SpringBootApplication@Configuration@EnableAutoConfiguration@ComponentScan的组合注解。

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

启动器(Starter)

Spring Boot提供了一系列的启动器(Starter),每个启动器都包含了一组常见的依赖。例如,spring-boot-starter-web包含了开发Web应用所需的依赖。

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

RESTful接口开发

Spring Boot使用@RestController注解来定义一个控制器,处理HTTP请求并返回JSON响应。

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}
实战:创建一个简单的SpringBoot应用

创建SpringBoot项目

使用Spring Initializr创建一个Spring Boot项目,选择Spring Boot version 2.7.3Java语言、Maven构建工具和web依赖。

编写控制器(Controller)

src/main/java/com/example/demo/controller/目录下创建HelloController.java文件。

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

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

运行和测试项目

  1. 启动项目:右键点击DemoApplication.java,选择Run 'DemoApplication'运行项目。
  2. 访问接口:打开浏览器访问http://localhost:8080/hello,应显示Hello, World!
SpringBoot常用功能详解

数据库集成(JPA, MyBatis等)

Spring Boot支持多种持久化方案,如JPA、MyBatis等。

JPA示例

以下是一个集成JPA的示例,包括添加依赖、配置数据源、定义实体类和Repository接口,并编写服务类。

  1. 添加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>
  1. 配置数据源
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
  1. 定义实体类
package com.example.demo.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private int age;

    // getters and setters
}
  1. 定义Repository接口
package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}
  1. 编写服务类
package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public List<User> findAll() {
        return userRepository.findAll();
    }
}

日志管理

Spring Boot使用Logging库,支持多种日志框架,如Log4j、Logback等。默认使用Logback。

  1. 配置日志级别
logging.level.root=INFO
logging.level.com.example=DEBUG
  1. 自定义日志输出
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {
    private static final Logger logger = LoggerFactory.getLogger(MyComponent.class);

    public void doSomething() {
        logger.info("Doing something");
    }
}

安全配置(Spring Security)

Spring Security是Spring Boot的一个安全框架,用于保护应用的安全。

  1. 添加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
  1. 配置安全设置
package com.example.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
            .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
            .and()
            .logout()
                .permitAll();
    }

    @Bean
    @Override
    public UserDetailsService userDetailsService() {
        UserDetails user = User.withDefaultPasswordEncoder()
            .username("user")
            .password("password")
            .roles("USER")
            .build();

        return new InMemoryUserDetailsManager(user);
    }
}
SpringBoot项目部署

打包成可执行的jar文件

使用Maven或Gradle打包项目成一个可执行的jar文件。

Maven打包

mvn clean package

Gradle打包

./gradlew bootJar

部署到Tomcat服务器

  1. 将jar文件复制到Tomcat服务器的webapps目录下
  2. 启动Tomcat服务器
cd /path/to/tomcat
./bin/startup.sh
  1. 访问应用:打开浏览器访问http://localhost:8080/yourappname

通过以上步骤,可以快速搭建、开发和部署一个Spring Boot应用。Spring Boot极大的简化了开发流程,使得开发者可以专注于业务逻辑的实现。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消