最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從Maven到Spring Boot實(shí)戰(zhàn)教程

 更新時(shí)間:2025年11月07日 10:25:08   作者:煙秋時(shí)  
本文系統(tǒng)梳理了Java后端開發(fā)的核心技術(shù)棧,從Maven項(xiàng)目管理到Spring Boot實(shí)戰(zhàn),從MyBatis持久層到Spring MVC Web開發(fā),涵蓋了項(xiàng)目開發(fā)的全流程與關(guān)鍵知識(shí)點(diǎn),感興趣的朋友跟隨小編一起看看吧

Java后端核心技術(shù)全解析:從Maven到Spring Boot實(shí)戰(zhàn)

在Java后端開發(fā)領(lǐng)域,Maven、Spring、MyBatis等技術(shù)構(gòu)成了核心技術(shù)棧。本文將系統(tǒng)梳理這些關(guān)鍵技術(shù)的核心概念與實(shí)戰(zhàn)技巧,結(jié)合項(xiàng)目開發(fā)場(chǎng)景補(bǔ)充實(shí)用細(xì)節(jié),助力開發(fā)者快速構(gòu)建高效穩(wěn)定的后端應(yīng)用。

一、項(xiàng)目管理利器:Maven核心詳解

Maven作為Apache旗下的開源項(xiàng)目管理工具,以標(biāo)準(zhǔn)化的構(gòu)建流程和依賴管理能力成為Java開發(fā)的標(biāo)配。

1.1 核心功能與優(yōu)勢(shì)

Maven的核心價(jià)值體現(xiàn)在兩大維度:

  • 標(biāo)準(zhǔn)化構(gòu)建流程:通過clean、compiletest、packageinstall等生命周期命令,實(shí)現(xiàn)從代碼編譯到項(xiàng)目部署的全流程自動(dòng)化,避免團(tuán)隊(duì)開發(fā)中的流程混亂。
  • 精細(xì)化依賴管理:統(tǒng)一管理項(xiàng)目所需的Jar包,自動(dòng)解決依賴傳遞問題,減少"Jar包地獄"的困擾。

1.2 倉(cāng)庫(kù)體系與POM核心配置

Maven通過三級(jí)倉(cāng)庫(kù)實(shí)現(xiàn)依賴的高效獲取:

  • 本地倉(cāng)庫(kù):默認(rèn)位于用戶目錄.m2/repository,存儲(chǔ)下載的依賴包,優(yōu)先從本地獲取。
  • 遠(yuǎn)程倉(cāng)庫(kù):企業(yè)內(nèi)部搭建的私有倉(cāng)庫(kù)(如Nexus),用于管理內(nèi)部共享組件。
  • 中央倉(cāng)庫(kù):Maven官方維護(hù)的公共倉(cāng)庫(kù),包含絕大多數(shù)開源組件。

pom.xml作為Maven項(xiàng)目的核心配置文件,關(guān)鍵配置項(xiàng)包括:

<!-- 項(xiàng)目坐標(biāo):唯一標(biāo)識(shí)一個(gè)Maven項(xiàng)目 -->
<groupId>com.company.project</groupId>
<artifactId>demo-service</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging> <!-- 打包類型:jar/war/pom -->
<!-- 依賴管理 -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>3.2.0</version>
    </dependency>
</dependencies>

1.3 依賴沖突解決方案

  • 依賴沖突是Maven開發(fā)中的常見問題,可通過以下策略解決:
  • 短路徑優(yōu)先原則:Maven默認(rèn)選擇依賴路徑最短的版本,直接在pom.xml中聲明所需版本可覆蓋傳遞依賴。
  • 排除依賴:通過<exclusions>標(biāo)簽排除沖突的依賴項(xiàng):
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>logback-classic</groupId>
            <artifactId>ch.qos.logback</artifactId>
        </exclusion>
    </exclusions>
</dependency>

使用Maven Helper插件:在IDEA中安裝插件可直觀查看依賴樹,快速定位沖突源頭。

二、Spring生態(tài)核心:IOC與AOP

Spring框架以IOC(控制反轉(zhuǎn))和AOP(面向切面編程)為核心,極大簡(jiǎn)化了JavaEE開發(fā)。

2.1 IOC容器與Bean管理

IOC容器是Spring的靈魂,負(fù)責(zé)Bean的創(chuàng)建、裝配與生命周期管理。

2.1.1 Bean的配置方式對(duì)比
配置方式實(shí)現(xiàn)方式適用場(chǎng)景
XML配置<bean id="" class="" />早期項(xiàng)目或復(fù)雜配置場(chǎng)景
注解配置@Component@Service主流開發(fā)模式,簡(jiǎn)化配置
Java配置類@Configuration + @Bean第三方組件集成
2.1.2 Bean的生命周期(完整版)
  1. 實(shí)例化:調(diào)用無(wú)參構(gòu)造器創(chuàng)建Bean對(duì)象
  2. 屬性填充:注入依賴的Bean(setter方法)
  3. 初始化前置BeanPostProcessor.postProcessBeforeInitialization
  4. 初始化
    1. 執(zhí)行@PostConstruct注解方法
    2. 調(diào)用InitializingBean.afterPropertiesSet()
    3. 執(zhí)行init-method配置的方法
  5. 初始化后置BeanPostProcessor.postProcessAfterInitialization
  6. 使用階段:從容器中獲取并使用Bean
  7. 銷毀階段
    1. 執(zhí)行@PreDestroy注解方法
    2. 調(diào)用DisposableBean.destroy()
    3. 執(zhí)行destroy-method配置的方法
2.1.3 循環(huán)依賴解決方案

Spring通過三級(jí)緩存機(jī)制解決單例Bean的循環(huán)依賴問題:

  • 一級(jí)緩存(SingletonObjects):存儲(chǔ)完全初始化的Bean
  • 二級(jí)緩存(EarlySingletonObjects):存儲(chǔ)提前暴露的未初始化Bean
  • 三級(jí)緩存(SingletonFactories):存儲(chǔ)Bean工廠,用于生成早期Bean引用

注意:構(gòu)造器注入的循環(huán)依賴無(wú)法解決,需改用字段注入或Setter注入;原型Bean的循環(huán)依賴也不被支持。

2.2 依賴注入(DI)的實(shí)現(xiàn)方式

Setter注入:通過setXxx()方法注入,支持可選依賴

<bean id="userService" class="com.demo.service.UserService">
    <property name="userMapper" ref="userMapper"/>
</bean>

構(gòu)造器注入:通過帶參構(gòu)造器注入,強(qiáng)制依賴必須存在

@Service
public class UserService {
    private final UserMapper userMapper;
    @Autowired // Spring 4.3+可省略
    public UserService(UserMapper userMapper) {
        this.userMapper = userMapper;
    }
}

注解注入@Autowired(按類型)、@Resource(按名稱)、@Value(字面值)

2.3 AOP核心概念與實(shí)踐

AOP(面向切面編程)用于解決系統(tǒng)橫切關(guān)注點(diǎn)(如日志、事務(wù)、權(quán)限)的復(fù)用問題。

2.3.1 核心術(shù)語(yǔ)
  • 切面(Aspect):橫切關(guān)注點(diǎn)的模塊化,如日志切面
  • 連接點(diǎn)(JoinPoint):程序執(zhí)行的某個(gè)點(diǎn),如方法調(diào)用
  • 切入點(diǎn)(Pointcut):匹配連接點(diǎn)的表達(dá)式,如execution(* com.demo.service.*.*(..))
  • 通知(Advice):切面的執(zhí)行邏輯,包括前置、后置、環(huán)繞、異常、最終通知
2.3.2 注解式AOP實(shí)現(xiàn)

導(dǎo)入依賴

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

編寫切面類

@Aspect
@Component
public class LogAspect {
    // 切入點(diǎn):匹配所有service方法
    @Pointcut("execution(* com.demo.service.*.*(..))")
    public void servicePointcut() {}
    // 前置通知
    @Before("servicePointcut()")
    public void before(JoinPoint joinPoint) {
        String method = joinPoint.getSignature().getName();
        System.out.println("方法" + method + "開始執(zhí)行");
    }
    // 環(huán)繞通知
    @Around("servicePointcut()")
    public Object around(ProceedingJoinPoint pjp) throws Throwable {
        long start = System.currentTimeMillis();
        Object result = pjp.proceed(); // 執(zhí)行目標(biāo)方法
        long time = System.currentTimeMillis() - start;
        System.out.println("方法執(zhí)行耗時(shí):" + time + "ms");
        return result;
    }
}

三、Spring Boot實(shí)戰(zhàn):約定大于配置

Spring Boot簡(jiǎn)化了Spring應(yīng)用的搭建與開發(fā),通過自動(dòng)配置和 starter 依賴實(shí)現(xiàn)"開箱即用"。

3.1 自動(dòng)配置原理深度解析

@SpringBootApplication是核心注解,包含三個(gè)關(guān)鍵子注解:

  1. @SpringBootConfiguration:標(biāo)識(shí)配置類,等同于@Configuration
  2. @ComponentScan:掃描主類所在包及其子包的組件
  3. @EnableAutoConfiguration:開啟自動(dòng)配置,核心是@Import(AutoConfigurationImportSelector.class)

自動(dòng)配置流程:

  1. 掃描META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件
  2. 根據(jù)類路徑下的依賴(starter)按需加載自動(dòng)配置類
  3. 通過@Conditional系列注解判斷是否需要配置
  4. 綁定配置文件(application.yml)中的屬性值

3.2 配置文件詳解與讀取

3.2.1 YAML配置示例
# 服務(wù)器配置
server:
  port: 8080
  servlet:
    context-path: /demo
# 數(shù)據(jù)庫(kù)配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useSSL=false
    username: root
    password: 123456
# 自定義配置
app:
  name: demo-app
  version: 1.0.0
  features:
    - log
    - security
3.2.2 配置讀取方式

@Value注解:讀取單個(gè)配置值

@RestController
public class AppController {
    @Value("${app.name}")
    private String appName;
}

Environment對(duì)象:動(dòng)態(tài)獲取配置

@Autowired
private Environment env;
public String getAppVersion() {
    return env.getProperty("app.version");
}

@ConfigurationProperties:批量綁定配置

@Component
@ConfigurationProperties(prefix = "app")
public class AppConfig {
    private String name;
    private String version;
    private List<String> features;
    // getter/setter
}

3.3 多環(huán)境配置與切換

  1. 創(chuàng)建環(huán)境配置文件
    1. 開發(fā)環(huán)境:application-dev.yml
    2. 測(cè)試環(huán)境:application-test.yml
    3. 生產(chǎn)環(huán)境:application-prod.yml
  2. 激活指定環(huán)境
    1. 配置文件方式:spring.profiles.active=dev
    2. 命令行方式:java -jar demo.jar --spring.profiles.active=prod
    3. IDE啟動(dòng)參數(shù):--spring.profiles.active=test

3.4 定時(shí)任務(wù)實(shí)現(xiàn)與Cron表達(dá)式

3.4.1 定時(shí)任務(wù)配置
  • 主類添加@EnableScheduling注解
  • 編寫定時(shí)任務(wù)方法:
@Service
public class ScheduledService {
    // 每5秒執(zhí)行一次
    @Scheduled(fixedRate = 5000)
    public void fixedRateTask() {
        System.out.println("固定頻率任務(wù)執(zhí)行:" + new Date());
    }
    // 每天凌晨2點(diǎn)執(zhí)行
    @Scheduled(cron = "0 0 2 * * ?")
    public void cronTask() {
        System.out.println("定時(shí)任務(wù)執(zhí)行:" + new Date());
    }
}
3.4.2 Cron表達(dá)式驗(yàn)證工具

Cron表達(dá)式易出錯(cuò),可通過代碼驗(yàn)證:

public class CronValidator {
    public static void main(String[] args) throws ParseException {
        String cron = "0 0 2 * * ?";
        CronExpression exp = new CronExpression(cron);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date now = new Date();
        // 打印未來5次執(zhí)行時(shí)間
        for (int i = 0; i < 5; i++) {
            now = exp.getNextValidTimeAfter(now);
            System.out.println(sdf.format(now));
        }
    }
}

四、MyBatis持久層實(shí)戰(zhàn)

MyBatis是優(yōu)秀的半自動(dòng)化ORM框架,支持XML和注解兩種映射方式。

4.1 核心配置與開發(fā)規(guī)范

4.1.1 Mapper代理開發(fā)規(guī)范
  1. Mapper接口的全路徑與Mapper.xml的namespace一致
  2. 接口方法名與XML中sql標(biāo)簽的id一致
  3. 方法參數(shù)類型與parameterType一致
  4. 方法返回值類型與resultType/resultMap一致
4.1.2 分頁(yè)實(shí)現(xiàn)(PageHelper)

導(dǎo)入依賴(2025年最新穩(wěn)定版):

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>2.0.1</version>
</dependency>

分頁(yè)查詢代碼:

public PageInfo<User> getUserPage(int pageNum, int pageSize) {
    // 設(shè)置分頁(yè)參數(shù)
    PageHelper.startPage(pageNum, pageSize);
    // 執(zhí)行查詢
    List<User> users = userMapper.selectAll();
    // 封裝分頁(yè)結(jié)果
    return new PageInfo<>(users);
}

4.2 動(dòng)態(tài)SQL與SQL片段

動(dòng)態(tài)SQL解決了SQL拼接的繁瑣問題,常用標(biāo)簽包括if、whereforeach、choose等。

4.2.1 動(dòng)態(tài)SQL示例(條件查詢)
<select id="selectUserByCondition" resultType="User">
    SELECT * FROM user
    <where>
        <if test="name != null and name != ''">
            AND name LIKE concat('%', #{name}, '%')
        </if>
        <if test="age != null">
            AND age = #{age}
        </if>
        <if test="ids != null and ids.size() > 0">
            AND id IN
            <foreach collection="ids" item="id" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
    </where>
</select>
4.2.2 SQL片段復(fù)用
<!-- 定義SQL片段 -->
<sql id="userColumns">
    id, name, age, create_time, update_time
</sql>
<!-- 引用SQL片段 -->
<select id="selectUserById" resultType="User">
    SELECT <include refid="userColumns"/> FROM user WHERE id = #{id}
</select>

4.3 #{}與${}的核心區(qū)別

特性#{}${}
本質(zhì)預(yù)編譯參數(shù)占位符字符串替換
SQL注入可防止有風(fēng)險(xiǎn)
類型轉(zhuǎn)換自動(dòng)轉(zhuǎn)換需手動(dòng)處理
使用場(chǎng)景傳遞參數(shù)值(如條件值)動(dòng)態(tài)表名、列名(可信場(chǎng)景)

示例

  • SELECT * FROM user WHERE name = #{name} → 安全
  • SELECT * FROM ${tableName} WHERE id = #{id} → 表名動(dòng)態(tài)拼接

五、Spring MVC與Web開發(fā)

Spring MVC是Spring生態(tài)的Web框架,基于MVC模式實(shí)現(xiàn)請(qǐng)求處理。

5.1 請(qǐng)求處理核心組件

  1. DispatcherServlet:前端控制器,統(tǒng)一接收請(qǐng)求并分發(fā)
  2. HandlerMapping:映射請(qǐng)求到處理器(Controller方法)
  3. HandlerAdapter:適配處理器執(zhí)行
  4. ViewResolver:解析視圖(已被前后端分離模式弱化)
  5. HandlerExceptionResolver:處理異常

5.2 常用請(qǐng)求注解詳解

注解作用示例
@RequestMapping映射請(qǐng)求路徑和方法@RequestMapping(“/user”, method = RequestMethod.GET)
@GetMapping處理GET請(qǐng)求(派生注解)@GetMapping(“/user/{id}”)
@PostMapping處理POST請(qǐng)求(派生注解)@PostMapping(“/user”)
@PathVariable獲取路徑參數(shù)public User getById(@PathVariable Long id)
@RequestParam獲取請(qǐng)求參數(shù)public List list(@RequestParam(required = false) String name)
@RequestBody接收J(rèn)SON請(qǐng)求體public void save(@RequestBody User user)

5.3 全局異常處理

@RestControllerAdvice // 全局異常處理器
public class GlobalExceptionHandler {
    // 處理業(yè)務(wù)異常
    @ExceptionHandler(BusinessException.class)
    public Result<?> handleBusinessException(BusinessException e) {
        return Result.fail(e.getCode(), e.getMessage());
    }
    // 處理系統(tǒng)異常
    @ExceptionHandler(Exception.class)
    public Result<?> handleSystemException(Exception e) {
        log.error("系統(tǒng)異常", e);
        return Result.fail(500, "系統(tǒng)繁忙,請(qǐng)稍后再試");
    }
}
// 自定義業(yè)務(wù)異常
public class BusinessException extends RuntimeException {
    private Integer code;
    public BusinessException(Integer code, String message) {
        super(message);
        this.code = code;
    }
    // getter
}
// 統(tǒng)一響應(yīng)結(jié)果
public class Result<T> {
    private Integer code;
    private String message;
    private T data;
    // 成功/失敗靜態(tài)方法
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setCode(200);
        result.setMessage("success");
        result.setData(data);
        return result;
    }
    public static <T> Result<T> fail(Integer code, String message) {
        // 實(shí)現(xiàn)省略
    }
}

5.4 跨域問題解決方案

5.4.1 局部跨域(@CrossOrigin)
@RestController
@RequestMapping("/user")
@CrossOrigin(origins = "http://localhost:8081", maxAge = 3600)
public class UserController {
    // 接口實(shí)現(xiàn)
}
5.4.2 全局跨域(配置類)
@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 所有路徑
                .allowedOrigins("http://localhost:8081") // 允許的源
                .allowedMethods("GET", "POST", "PUT", "DELETE") // 允許的方法
                .allowedHeaders("*") // 允許的請(qǐng)求頭
                .allowCredentials(true) // 允許攜帶cookie
                .maxAge(3600); // 預(yù)檢請(qǐng)求緩存時(shí)間
    }
}

六、項(xiàng)目開發(fā)全流程與最佳實(shí)踐

6.1 標(biāo)準(zhǔn)開發(fā)流程

  1. 需求分析與設(shè)計(jì)
    1. 業(yè)務(wù)需求梳理
    2. 數(shù)據(jù)庫(kù)表設(shè)計(jì)(ER圖)
    3. 接口文檔編寫(Swagger)
  2. 項(xiàng)目初始化
    1. 創(chuàng)建Spring Boot項(xiàng)目(選擇starter:web、mybatis、mysql等)
    2. 配置多環(huán)境(dev/test/prod)
    3. 集成常用工具(Lombok、PageHelper、Swagger)
  3. 分層開發(fā)
    1. Entity層:與數(shù)據(jù)庫(kù)表映射(使用@Data簡(jiǎn)化代碼)
    2. Mapper層:數(shù)據(jù)訪問接口+XML映射文件
    3. Service層:業(yè)務(wù)邏輯處理(接口+實(shí)現(xiàn)類)
    4. Controller層:請(qǐng)求處理與響應(yīng)
  4. 測(cè)試與部署
    1. 單元測(cè)試(JUnit5 + Mockito)
    2. 集成測(cè)試(@SpringBootTest
    3. 打包部署(Jar包 + Docker)

6.2 常用開發(fā)工具集成

6.2.1 Lombok簡(jiǎn)化實(shí)體類

導(dǎo)入依賴:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

使用注解:

@Data // 包含getter、setter、toString、equalsAndHashCode、RequiredArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@TableName("user") // MyBatis-Plus表名注解
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
6.2.2 Swagger接口文檔

導(dǎo)入依賴:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.3.0</version>
</dependency>

配置類:

@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("Demo API")
                        .version("1.0")
                        .description("接口文檔"));
    }
}

訪問地址:http://localhost:8080/swagger-ui/index.html

七、總結(jié)

本文系統(tǒng)梳理了Java后端開發(fā)的核心技術(shù)棧,從Maven項(xiàng)目管理到Spring Boot實(shí)戰(zhàn),從MyBatis持久層到Spring MVC Web開發(fā),涵蓋了項(xiàng)目開發(fā)的全流程與關(guān)鍵知識(shí)點(diǎn)。掌握這些技術(shù)不僅能提高開發(fā)效率,更能構(gòu)建出高可維護(hù)、高擴(kuò)展性的后端系統(tǒng)。

在實(shí)際開發(fā)中,應(yīng)注重以下幾點(diǎn):

  1. 遵循"約定大于配置"原則,減少重復(fù)配置
  2. 善用設(shè)計(jì)模式解決共性問題(如單例、工廠、代理)
  3. 重視代碼規(guī)范與測(cè)試,提高代碼質(zhì)量
  4. 持續(xù)學(xué)習(xí)新技術(shù)(如Spring Cloud微服務(wù)、響應(yīng)式編程)

希望本文能為Java后端開發(fā)者提供有價(jià)值的參考,助力大家在技術(shù)道路上不斷進(jìn)階!

到此這篇關(guān)于從Maven到Spring Boot實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)maven到springboot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaSE的邏輯控制你了解嗎

    JavaSE的邏輯控制你了解嗎

    這篇文章主要為大家詳細(xì)介紹了JavaSE的邏輯控制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Spring事務(wù)注解如何確保你的應(yīng)用數(shù)據(jù)的一致性

    Spring事務(wù)注解如何確保你的應(yīng)用數(shù)據(jù)的一致性

    Spring事務(wù)注解用于確保電商平臺(tái)下單過程中數(shù)據(jù)一致性,通過ACID原則、傳播行為、隔離級(jí)別和回滾配置管理數(shù)據(jù)庫(kù)操作,合理設(shè)置屬性及拆分事務(wù)方法可提升系統(tǒng)穩(wěn)定性與可靠性,本文介紹Spring事務(wù)注解如何確保你的應(yīng)用數(shù)據(jù)的一致性,感興趣的朋友一起看看吧
    2025-07-07
  • Java靜態(tài)泛型使用方法實(shí)例解析

    Java靜態(tài)泛型使用方法實(shí)例解析

    這篇文章主要介紹了Java靜態(tài)泛型使用方法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot請(qǐng)求參數(shù)接收方式

    SpringBoot請(qǐng)求參數(shù)接收方式

    這篇文章主要介紹了SpringBoot請(qǐng)求參數(shù)接收方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • maven項(xiàng)目連接MySQL方式(使用原生的jdbc)

    maven項(xiàng)目連接MySQL方式(使用原生的jdbc)

    文章介紹了如何在項(xiàng)目中添加依賴、組織目錄結(jié)構(gòu)、配置數(shù)據(jù)庫(kù)連接屬性以及編寫工具類,并分享了個(gè)人經(jīng)驗(yàn),鼓勵(lì)讀者參考和支持腳本之家
    2026-03-03
  • JAVA基本類型包裝類 BigDecimal BigInteger 的使用

    JAVA基本類型包裝類 BigDecimal BigInteger 的使用

    Java 中預(yù)定義了八種基本數(shù)據(jù)類型,包括:byte,int,long,double,float,boolean,char,short,接下來文章小編將向大家介紹其中幾個(gè)類型的內(nèi)容,需要的朋友可以參考下文章
    2021-09-09
  • 已解決:No ''Access-Control-Allow-Origin''跨域問題

    已解決:No ''Access-Control-Allow-Origin''跨域問題

    這篇文章主要介紹了已解決:No 'Access-Control-Allow-Origin' 跨域,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Springboot集成knife4j實(shí)現(xiàn)風(fēng)格化API文檔

    Springboot集成knife4j實(shí)現(xiàn)風(fēng)格化API文檔

    這篇文章主要介紹了Springboot如何集成knife4j實(shí)現(xiàn)風(fēng)格化API文檔,幫助大家更好的使用springboot框架,感興趣的朋友可以了解下
    2020-12-12
  • 使用MappingJackson2XmlView實(shí)現(xiàn)JSON到XML的視圖轉(zhuǎn)換

    使用MappingJackson2XmlView實(shí)現(xiàn)JSON到XML的視圖轉(zhuǎn)換

    MappingJackson2XmlView來實(shí)現(xiàn)從JSON到XML格式的響應(yīng)轉(zhuǎn)換,本文將通過案例,將展示如何將JSON格式的數(shù)據(jù)轉(zhuǎn)換為XML格式,以滿足不同客戶端的數(shù)據(jù)交換需求,需要的朋友可以參考下
    2024-07-07
  • 使用SpringCloudApiGateway之支持Cors跨域請(qǐng)求

    使用SpringCloudApiGateway之支持Cors跨域請(qǐng)求

    這篇文章主要介紹了使用SpringCloudApiGateway之支持Cors跨域請(qǐng)求的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論

兰溪市| 淮安市| 称多县| 南平市| 北碚区| 准格尔旗| 班玛县| 灵宝市| 南汇区| 全椒县| 阳东县| 汕尾市| 疏勒县| 海淀区| 浑源县| 商都县| 兴文县| 萍乡市| 湘西| 布尔津县| 手游| 吉林市| 江陵县| 临猗县| 福泉市| 桃江县| 开封市| 墨脱县| 扬州市| 屯门区| 左贡县| 普宁市| 孙吴县| 通河县| 抚顺县| 荣昌县| 屯门区| 廊坊市| 浦江县| 汝州市| 洪湖市|