SpringBoot快速入门+示图+代码

本文介绍了SpringBoot的基础知识和实战应用,包括微服务概念、SpringBoot的优势,以及创建第一个SpringBoot程序的目录结构。深入探讨了自动装配原理、配置文件(如application.yml)的使用、多环境配置和切换、日志处理和Web静态资源管理。还讲解了Thymeleaf模板引擎的集成与使用。
摘要由CSDN通过智能技术生成

微服务与springboot

微服务

一个项目可以由多个小型服务构成(微服务)
在这里插入图片描述

SpringBoot

a.快速开发微服务模块
b.简化j2ee开发
c.整个Spring技术栈的整合(整合SpringMvc Spring)
d.整个j2ee技术的整合(整合mybatis redis)

第一个SpringBoot程序

目录结构

在这里插入图片描述
目录结构resource:
static:静态资源(js css 图片 音频 视频)
template:模板文件(模板引擎freemarker,thymeleaf;默认不支持jsp)。
application.properties:配置文件。
springboot内置了tomcat,并且不需要打成war包在执行。
可以在application.properties中对端口号等服务信息进行配置。
springboot将各个应用/三方框架设置成了一个个‘场景’stater,要用哪个只需要引入哪个场景即可(springboot会自动注入需要的依赖)。

  • 主配置类
package com.bwl.base;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * 配置类:扫描本包及其子包
 * @author zhaopan
 *
 */
@SpringBootApplication	//springboot的主配置类
public class SpringPro1Application {
   

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

}

  • controller
package com.bwl.base.contruller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller			//是一个控制器
@ResponseBody		//返回值以json的形式
public class UserController {
   
	
	@RequestMapping("/test")
	public String test() {
   
		return "你好";
	}

}
  • 默认端口:8080

  • applicadtion.properties中配置端口:

server.port=8888
  • 测试结果
    在这里插入图片描述

自动装配源码解读

自动装配原理

配置文件及yml使用

application.yml

  • 实体类User.java
package com.bwl.base.entity;

import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component	//将此javabean放入到spring容器
@ConfigurationProperties(prefix = "user")		//yml中配置属性
public class User {
   
	
	private String name;
	private int id;
	private Date date;
	//集合
	private Map<String,String> map;
	//集合
	private List<String> list;
	//数组
	private String[] skills;
	//对象类型
	private Pet pet;
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	public int getId() {
   
		return id;
	}
	public void setId
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spring boot 项目代码,直接启动,第一部分 点睛Spring 4.x 第1 章 Spring 基础 ..........................................2 1.1 Spring 概述 ............................................. 2 1.2 Spring 项目快速搭建 .................................. 5 1.3 Spring 基础配置 .....................................17 第2 章 Spring 常用配置 .... ............................ 30 2.1 Bean 的Scope .... ................................... 30 2.2 Spring EL 和资源调用 .... ...................... 33 2.3 Bean 的初始化和销毁 .... ...................... 37 2.4 Profile .... .... .......... 40 2.5 事件(Application Event) .... .............. 44 第3 章 Spring 高级话题 .... ............................ 48 3.1 Spring Aware .... ..................................... 48 3.2 多线程 .... .... ......... 51 3.3 计划任务 .... .... ..... 54 3.4 条件注解@Conditional .... .................... 56 3.5 组合注解与元注解 .... ........................... 60 3.6 @Enable*注解的工作原理 .... .............. 63 VIII ∣ Java EE 开发的颠覆者:Spring Boot 实战 3.7 测试 .... .... ............. 66 第二部分 点睛Spring MVC 4.x 第4 章 Spring MVC 基础 .... .......................... 72 第三部分 实战Spring Boot 第5 章 Spring Boot 基础 .... ......................... 122 第6 章 Spring Boot 核心 .... ......................... 138 X ∣ Java EE 开发的颠覆者:Spring Boot 实战 第7 章 Spring Boot 的Web 开发 .... ............ 170 7.1 Spring Boot 的Web 开发支持 .... ....... 170 7.2 Thymeleaf 模板引擎 .... ....................... 171 7.2.4 实战 .... ...................................... 177 7.3 Web 相关配置 .... ................................. 182 7.4 Tomcat 配置 .... .................................... 187 7.5 Favicon 配置 .... ................................... 196 7.6 WebSocket .... ....................................... 197 7.7 基于Bootstrap 和AngularJS 的现代Web 应用 .................. 212 第8 章 Spring Boot 的数据访问 .... .............. 233 8.1 引入Docker .... .................................... 237 8.2 Spring Data JPA .... .............................. 248 8.3 Spring Data REST .... ........................... 284 8.4 声名式事务 .... ..................................... 297 8.5 数据缓存Cache .... .............................. 309 8.6 非关系型数据库NoSQL .... ................ 320 8.6.1 MongoDB .... ............................. 320 8.6.2 Redis .... ..................................... 329 第9 章 Spring Boot 企业级开发 .... .............. 340 9.1 安全控制Spring Security .... ............... 340 9.2 批处理Spring Batch .... ....................... 362 9.3 异步消息 .... ......................................... 385 9.4 系统集成Spring Integration .... ........... 395 第10 章 Spring Boot 开发部署与测试 .... ..... 407 第11 章 应用监控 .... ................................... 431 第12 章 分布式系统开发 .... ........................ 456 12.1 微服务、原生云应用 .... ................... 456 12.2 Spring Cloud 快速入门 .... ................. 457 12.3 实战 .... .... ......... 458 12.4 基于Docker 部署 ...................................478
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值