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

做搜狗网站优化首页软小吃培训去哪里学最好

做搜狗网站优化首页软,小吃培训去哪里学最好,台州哪里做网站,网站建设企1.springboot简介 核心能力:Spring容器、日志、自动配置AutoCongfiguration、Starters web应用的能力:MVC、嵌入式Web服务器 数据访问(持久化):关系型数据库、非关系型数据库 强大的整合其他技术的能力 只要是Java中牛逼的技术&#xff0c…

1.springboot简介

  • 核心能力:Spring容器、日志、自动配置AutoCongfiguration、Starters

  • web应用的能力:MVC、嵌入式Web服务器

  • 数据访问(持久化):关系型数据库、非关系型数据库

  • 强大的整合其他技术的能力

    • 只要是Java中牛逼的技术,在SpringBoot中都有良好的支持

  • 测试:强悍的应用测试

2.springboot版本问题

Spring Boot 的3.1.0正式发行版,使用Java 17,对应的Spring版本是6.0.9。

Servlet容器版本:

SpringBoot 支持如下的嵌入式Servlet容器,Spring Boot应用程序最低支持到Servlet 3.1的容器。

NameServlet Version
Tomcat10.16.0
Tomcat 9.04.0
Jetty 9.43.1
Undertow 2.04.0

3.springboot快速入门

  1. 创建Maven工程(使用java即可,使用springboot可能会出现版本问题)

  2. pom.xml文件中配置起步依赖

 <!--继承SpringBoot父POM文件-->

<!--web 开发的相关依赖-->

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.0</version></parent>
  1. 编写SpringBoot启动引导类

@Configuration//配置类
@EnableAutoConfiguration//开启自动配置
@ComponentScan//包扫描
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class,args);}
}
  1. 编写Controller

  2. 访问http://localhost:8080/hello测试

4、SpringBoot原理分析

1.starters

==starters是依赖关系的整理和封装==。是一套依赖坐标的整合,可以让导入应用开发的依赖坐标更方便。

starter本质是一个pom.xml文件,里存储了很多坐标

利用依赖传递的特性:帮你把依赖打包了,starter

有了这些Starters,你获得Spring和其整合的所有技术的一站式服务。无需配置(自动配置)、无需复制粘贴依赖坐标,一个坐标即可完成所有入门级别操作。举例:Web开发,只需要导入spring-boot-starter-web

2.依赖管理的原理

BOM(Bill of Materials)依赖清单,是由Maven提供的功能,<dependencyMangament>

BOM内定义成套相互兼容的jar包版本集合

使用依赖时,只需依赖该BOM文件,即可放心的使用清单内的依赖jar包,且无需版本号。

BOM设计初衷:方便维护项目依赖版本升级

依赖管理(Dependency Management)

  1. 继承了spring-boot-starter-parent的好处和特点

    • 默认编译Java 17

    • 默认编码UTF-8

    • 通过spring-boot-denpendencies的pom管理所有公共Starter依赖的版本

    • spring-boot-denpendencies通过Maven的一个<dependency management>特性来实现版本管理

    • 随用随取,不用继承父类所有的starter依赖。

  2. POM文件中的Maven插件

    <!-- 作用:将一个SpringBoot的工程打包成为可执行的jar包 -->
    <build> 
    <plugins><plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    </plugin> 
    </plugins> 
    </build>
    

    如果想使用父pom文件中的任何插件,无需配置即可使用

3.自动配置(AutoConfiguration)原理

SpringBoot采用约定大于配置设计思想,将所有可能遇到的配置信息提前配置好,写在自动配置的jar包中。每个Starter基本都会有对应的自动配置。

SpringBoot帮我们将配置信息写好,存放在一个jar包中:spring-boot-autoconfigure-3.1.0.jar

jar包里,存放的都是配置类,让配置类生效的"规则类"

查看启动类注解@SpringBootApplication

追踪步骤:

  1. @SpringBootApplication

  2. @EnableAutoConfiguration

  3. @Import({AutoConfigurationImportSelector.class})

  4. org.springframework.boot.autoconfigure.AutoConfiguration.imports

  5. org.springframework.boot.autoconfigure.web.servlet.EmbeddedWebServerFactoryCustomizerAutoConfiguration

分析小节:

  • Starter:是一套依赖关系的整理和封装

    • 让我们更加专注于业务开发,无需关心依赖导入,依赖冲突,及依赖的版本

    • 在pom文件导入starter既可使用对应的功能

  • 依赖管理:依赖管理是对依赖坐标的抽取和复用,统一管理依赖坐标的版本。

    • 实现了依赖坐标的版本管理

    • starter随用随取

    • 避免了继承所有父类starter的依赖的臃肿

    • 避免了记忆所有starter的麻烦。

  • 自动配置:预先写入配置类,封装到AutoConfiguration的jar包中,按需求加载配置信息。

    • 基于约定大于配置的设计思想

    • 极大的降低了Spring应用配置的复杂度

    • 代码实现原理:@SpringBootApplication-->@EnableAutoConfiguration-->@AutoConfigurationPackage(spring-boot-autoconfigure-3.1.0.jar)

    • 原理的核心在于:spring-boot-autoconfigure-3.1.0.jar包

  • 当Spring Boot应用启动时,@EnableAutoConfiguration注解中的@Import(AutoConfigurationImportSelector.class)会导入AutoConfigurationImportSelector类。
  • AutoConfigurationImportSelector类的selectImports方法会扫描所有具有META-INF/spring.factories文件的jar包,并读取这些文件中与EnableAutoConfiguration对应的配置类列表。
  • 这些配置类(通常是xxxAutoConfiguration形式的类)会被加载到Spring容器中,作为自动配置的Bean。

5.SpringBoot的配置文件

yml配置文件规则:

  1. 大小写敏感

  2. 数据值前边必须有空格,作为分隔符

  3. 使用缩进表示层级关系:

  4. 缩进不允许使用tab,只允许空格

  5. 缩进的空格数不重要,只要相同层级的元素左对齐即可

  6. ‘#’表示注释,从这个字符一直到行尾,都会被解析器忽略。

  7. 数组和集合使用 “- ”表示数组每个元素

配置文件属性注入Bean@Value

6.SpringBoot与其他技术集成

1.集成MyBatis

依赖,其余都一样

<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency><!--导入SpringBoot和MyBatis的整合包--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version></dependency>

2 集成Spring Data Redis

依赖

        <!--导入redis的整合包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

配置文件

#配置redis数据库连接信息
spring:data:redis:host: localhostport: 6379

3.SpringBoot代码测试

<!--spring boot测试依赖-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

4.springboot打jar包和war包

jar

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.x.x</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>

war

<packaging>war</packaging><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>
</dependencies>
  • 如果是 WAR 包,主类需要继承 SpringBootServletInitializer,并重写 configure 方法。
  • import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;@SpringBootApplication
    public class YourApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(YourApplication.class, args);}
    }
    

http://www.hkea.cn/news/388284/

相关文章:

  • b2b模式的网站google网站
  • 做优化网站哪个公司好十大营销策略
  • 软件商店app苏州网站关键词优化推广
  • wordpress添加日历首页优化公司
  • 日本可以自己做网站吗查询网站服务器
  • 做网站维护的人叫啥友情链接交换工具
  • 云南网站定制真正永久免费的建站系统有哪些
  • 温州做网站技术员沧州做网络推广的平台
  • wordpress media上海排名优化seobwyseo
  • 深圳网站建设科技有限公司注册一个网站
  • 网站设计改版seo关键词优化推广价格
  • 做网站什么主题比较好上海网站seo诊断
  • 设计苹果手机的网站病毒什么时候才能消失
  • 国外做化工产品的网站自媒体发布平台
  • 怎么做资源类网站百度搜索热度排名
  • 大片网站建设seo关键词排名优化评价
  • 网络营销推广课程培训苏州seo门户网
  • 做盗版影视网站如何给公司网站做推广
  • 做网站付费流程郑州seo技术
  • 云南网站开发有哪些实用的网络推广方法
  • 央视新闻最新消息今天什么叫seo
  • 网站建设的意义徐州百度推广
  • 建设网站建设的目标百度云盘资源
  • 个体工商户是否能够做网站在线生成个人网站源码
  • 临沂高端网站建设厦门网站推广费用
  • 网站模版友链交易交易平台
  • 武汉做网站找谁百度导航是哪个国家的
  • wordpress互动游戏黄石seo诊断
  • 网页设计作品下载志鸿优化设计
  • 宾馆网站制作seminar是什么意思