当前位置: 首页 > wzjs >正文

dede生成网站地图淘宝摄影培训推荐

dede生成网站地图,淘宝摄影培训推荐,网站站内内链建设,做网站的科技公司一、简介springboot是spring提供的一个子项目,用于快速构建spring应用程序。传统方式:子项目都依赖于spring framework这个核心功能进行组合构建,比较麻烦。1-1、传统spring的痛点 依赖难管理引入依赖时,你得自己查清楚需要哪些 j…

一、简介

springboot是spring提供的一个子项目,用于快速构建spring应用程序。

传统方式:

子项目都依赖于spring framework这个核心功能进行组合构建,比较麻烦。

1-1、传统spring的痛点 

依赖难管理

  • 引入依赖时,你得自己查清楚需要哪些 jar。

  • 比如整合 Spring + MyBatis + Jackson,可能要引十几个 jar 包。

  • 各 jar 包之间还有版本兼容问题。

配置太繁琐

  • Bean 要写 <bean> 标签,配置太多 XML。

  • Controller、Service、Dao 都要在配置文件中手动注册。

  • 数据源、事务、AOP、MVC 配置全靠 XML 或 JavaConfig。

开发初期,写一堆配置文件才能跑一个小项目,非常低效!

启动麻烦

  • 启动一个项目要配置 web.xml,配置 DispatcherServlet。

  • 如果你用 Spring + Tomcat,还要单独部署 war 包。

无法快速创建项目

  • 没有脚手架,没有自动化工具,每次都得从头配置。

1-2、springboot的特点

1-2-1、起步依赖

Spring Boot 的起步依赖(Starter Dependencies)——这是 Spring Boot 最具代表性的“爽点”之一。


1、什么是起步依赖(Starter Dependency)?

起步依赖(Starter)是 Spring Boot 提供的一组预定义的依赖集合,用来简化项目的依赖管理。

你只需要引入一个 starter,就相当于引入了一大堆相关的 jar,并且这些 jar 版本已经由 Spring Boot 帮你协调好了。


2、起步依赖的命名规则

Starter 的名字通常都是:

spring-boot-starter-xxx
起步依赖功能
spring-boot-starter核心起步依赖(包含日志、自动配置等)
spring-boot-starter-web构建 Web 项目,包含 Spring MVC + Jackson + Tomcat
spring-boot-starter-data-jpa操作数据库(JPA/Hibernate)
spring-boot-starter-jdbc操作数据库(原生 JDBC)
spring-boot-starter-securitySpring Security 安全框架
spring-boot-starter-test测试框架:JUnit、Mockito、AssertJ 等
spring-boot-starter-thymeleaf模板引擎 Thymeleaf
spring-boot-starter-actuator提供运行时监控和指标(健康检查等)
spring-boot-starter-validation表单和参数校验

3、示例:web 项目只需要 1 行依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

你就拥有了:

  • Spring MVC

  • Jackson JSON 解析

  • 内嵌 Tomcat

  • 其他常用工具类

  • 自动配置能力


4、起步依赖的优点
优点说明
简化依赖一个 starter 就包含多个常用依赖
避免冲突Spring Boot 使用 BOM(版本管理)统一控制依赖版本
自动配置配合 Spring Boot 的自动装配机制,几乎零配置上手
快速上手适合新手,也适合快速构建企业级应用

5、自定义 Starter(可选扩展)

在企业中,可以自定义 xxx-starter,为多个项目统一封装依赖和配置,减少重复开发工作。

1-2-2、自动配置

我们以 Spring Boot + MyBatis 为例,来讲解 Spring Boot 的核心特性之一:自动配置(Auto Configuration)


1、什么是 Spring Boot 的自动配置?

Spring Boot 会根据你引入的依赖和配置文件中的内容,自动帮你配置相关的 Bean、组件、环境,而你不需要自己去写复杂的配置类或 XML

程序启动后,一些bean对象会自动注入到ioc容器中,不需要手动声明,简化开发。


2、Sprin + MyBatis 的传统配置(Spring时代)

在 Spring 中整合 MyBatis,你得做这些:

  1. 配置数据源(DataSource)

  2. 配置 SqlSessionFactory

  3. 配置 MapperScannerConfigurer 扫描 Mapper 接口

  4. 配置事务管理器

  5. 在 XML 里注册上述 Bean

繁琐又容易出错。


3、Spring Boot 如何自动帮你配置这些?

步骤一:加依赖

<!-- MyBatis 和 Spring Boot 整合起步依赖 -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version> <!-- 版本可查官网 -->
</dependency>

步骤二:写配置(application.yml 或 application.properties)

spring:datasource:url: jdbc:mysql://localhost:3306/testusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivermybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.demo.pojo

步骤三:写 Mapper 接口

@Mapper
public interface CarMapper {Car selectById(Long id);
}

步骤四:写 Service 调用就行了


4、Spring Boot 背后自动做了什么?

当你引入 mybatis-spring-boot-starter 后,Spring Boot 自动执行以下逻辑:

自动配置类:MybatisAutoConfiguration

Spring Boot 启动时,会扫描 spring.factories 里的配置项,其中包括:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration

这个类会自动:

功能Spring Boot 自动做了什么
数据源根据 spring.datasource.* 配置自动创建 DataSource Bean
SqlSessionFactory自动创建 SqlSessionFactory
Mapper 接口自动扫描 @Mapper 接口并注入到容器中
配置文件自动加载 mybatis.mapper-locations 指定的 XML
别名包自动读取 type-aliases-package 并注册别名

你完全不用自己写这些配置类,Spring Boot 全部代劳!


5、要使用自动配置,还需要两点小细节
1. 扫描 Mapper(有两种方式)
// 方式一:每个 Mapper 接口加 @Mapper
@Mapper
public interface CarMapper {}// 方式二:全局扫描 Mapper 包(推荐)
@MapperScan("com.example.demo.mapper")
@SpringBootApplication
public class DemoApplication {...
}

2. Mapper XML 放在正确的位置

Spring Boot 默认扫描:

classpath:mapper/*.xml

你要么:

  • 把 XML 放到 src/main/resources/mapper 目录

  • 要么在配置文件中手动指定路径

1-2-3、springboot的其它特性

1. 内嵌的 Tomcat / Jetty(无需部署 WAR 文件)

(1)、传统 Spring(非 Boot)做法

你得把整个项目打成 .war 包,然后:

  • 安装 Tomcat

  • .war 放进 webapps 目录

  • 重启 Tomcat

  • 看控制台看日志输出…

很麻烦!


(2)、Spring Boot 做法

你只需要在项目中写一个 main() 方法:

@SpringBootApplication
public class MyApp {public static void main(String[] args) {SpringApplication.run(MyApp.class, args); // 启动内嵌Tomcat}
}

Spring Boot 内置了 Tomcat、Jetty 或 Undertow(默认是 Tomcat),打成的是 .jar 文件,运行只需一条命令:

java -jar myapp.jar

优势:

  • 无需安装 Tomcat

  • 可独立运行,部署更简单

  • 容器化更方便(Docker + 微服务)


2. 外部化配置(Externalized Configuration)

你可以通过配置文件、命令行参数、环境变量等方式动态调整应用行为,而不改动 Java 代码

举例:配置数据库连接

# application.ymlspring:datasource:url: jdbc:mysql://localhost:3306/demousername: rootpassword: 123456

你可以通过这些方式修改:

方式示例
配置文件application.propertiesapplication.yml
命令行参数--server.port=8081
环境变量SPRING_DATASOURCE_PASSWORD=abcdefg
profile 文件application-dev.yml, application-prod.yml

实际好处:

  • 不同环境(开发 / 测试 / 生产)切换配置无痛

  • 密码和端口可以通过命令行、环境变量注入,更安全

  • 避免写死配置在代码里


3. 不需要 XML 配置(使用注解 + yml/properties)

传统 Spring:到处都是 XML

<bean id="carService" class="com.example.CarService"/>
<context:component-scan base-package="com.example"/>

看起来繁琐、容易错、读起来也吃力。


🚀 Spring Boot:用注解替代 XML

@Service
public class CarService {...
}

再加个主类:

@SpringBootApplication // 相当于 @ComponentScan + @Configuration + @EnableAutoConfiguration
public class MyApp {public static void main(String[] args) {SpringApplication.run(MyApp.class, args);}
}

你不再需要写任何 Spring 配置 XML,几乎所有组件靠注解自动装配。


1-3、创建一个hello springboot项目

点击apply,ok,spring new module将创建完成:

项目创建完成,打开pom.xml文件:

可以看到web起步依赖已添加,但是没有version这是因为:

所有的boot项目,都直接、间接的继承于父工程,主要用于起步依赖的版本。

你只要写下面这段代码,就能跑一个 Web 服务:

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

不需要:

  • web.xml

  • DispatcherServlet 配置

  • Controller 扫描配置

只要加上 spring-boot-starter-web,Spring Boot 就自动帮你搞定一切。

http://www.dtcms.com/wzjs/356664.html

相关文章:

  • 皮卡剧网站怎样做珠海网站建设制作
  • 免费做h5的网站有哪些西安网站托管
  • 网站在线客服系统哪个好营销策略的重要性
  • 柳州网站建设排行榜seo基础理论
  • 国外商业网站苏州seo网站推广哪家好
  • 初创企业网站建设流程青岛关键词排名哪家好
  • 贵阳网站优化排名营销方案的几个要素
  • 甘肃省住房和城乡建设厅官方网站网站优化外包费用
  • 做社交网站要注册哪类商标全网引流推广
  • 网站建设工资多少钓鱼网站制作教程
  • 西安市公司搜索引擎优化包括哪些内容
  • 潍坊建设企业网站怎么推广引流客户
  • 网站备案查询背景布网站建站哪家公司好
  • 网站建设外包公司排名网店如何推广自己的产品
  • 如何请人创建一个网站吴中seo页面优化推广
  • wordpress投票类主题沈阳专业seo关键词优化
  • 做网站开发需要培训吗如何做好网站的推广工作
  • 上海网站建设外包网站策划运营
  • 做报表的网站泉州百度竞价公司
  • 做医药商城网站的公司怎么做电商平台
  • 自己建网站做代理商快点tv下载安装
  • 静态网页模板下载后怎么修改亚马逊seo是什么意思
  • 品牌营销型网站建设网上培训
  • 数字城市建设网站网络赚钱推广
  • 免费的黄台app下载广西百度seo
  • wordpress附件上传开鲁seo网站
  • 上海做网站优化公司巨量引擎官网
  • 网站里可以添加视频做背景吗正规的培训机构有哪些
  • 罗湖做网站报价站长数据
  • 办公室装修设计多少钱马鞍山seo