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

php网站开发账号密码湖南手机版建站系统开发

php网站开发账号密码,湖南手机版建站系统开发,广东建设信息网专业版,上海有名的做网站的公司1.classpath classpath是指Spring Boot 在运行时查找的编译后的.class类文件、配置文件和资源的路径集合。具体指哪些文件呢?以 Maven 或 Gradle 项目为例: 编译后的输出目录: Maven:target/classes Gradle:build/…

1.classpath

classpath是指Spring Boot 在运行时查找的编译后的.class类文件、配置文件和资源的路径集合。具体指哪些文件呢?以 Maven 或 Gradle 项目为例:

  • 编译后的输出目录

Maven:target/classes

Gradle:build/classes/java/main + build/resources/main

  • 第三方依赖库

Maven:pom.xml里添加的三方依赖库下载到本地的文件

Gradle:build.gradle里添加的三方依赖库下载到本地的文件

  • 安装的JDK lib文件夹里的jar文件

  • IDEA工具下的jar文件

可以在代码中输出System.getProperty("java.class.path")看到所有 classpath 

2.Bean和容器

Spring Bean是什么

本质是Java对象(实例化结果),只是它的创建、生命周期和依赖关系由Spring容器管理

SpringBoot 容器是什么

本质是一个管理和协调 Bean 的运行环境,可以把它理解成一个管家,你只要告诉它哪些对象需要它管理,它就会自动完成对象的实例化、组装、销毁,并保证bean之间能协调工作。

定义Bean

常规场景下也可称为注册Bean,也就是需要告诉Spring哪个对象需要它帮忙管理。

定义Bean的常规方法

  • 通过注解定义并自动注册

在类上添加定义Bean的注解,声明这是一个Bean,Spring Boot 启动时扫描到这些注解,会自动将类实例化为 Bean ,并注册到容器中,比如:

  • 通过配置类定义并显式注册

在 @Configuration 类中使用注解 @Bean, 声明该方法是一个Bean,Spring 会将该方法的返回值注册为 Bean

常用的定义Bean的注解有

@Component    通用注解,任何你需要定义为Bean的类上都可以用

@Service         派生自@Component,专用于Service层(业务逻辑层)

@Repository   派生自@Component,用于DAO层(数据库处理层),将处理数据时的异常转换为Spring 的统一异常

@Controller   派生自@Component,用于web层,适用处理 HTTP 请求,返回视图的场景

@RestController   是@Controller和@ResponseBody的组合,间接派生自@Component,用于web层,适用处理HTTP请求,返回Json、Xml数据的场景

@Bean    定义一个方法为一个Bean

注入Bean

Spring 根据类型或名称从容器中找到匹配的 Bean,然后将 Bean 赋值给其他对象的成员变量、方法参数、构造函数参数

注入Bean的方法

通过 @Autowired 注解标记字段

这行代码的意思是把"AutoTestScheduledService"类型的Bean赋值给 autoTestScheduledService

Bean在容器中的名称

每个 Bean 在容器中有唯一的名称,默认是类名首字母小写,也可通过 @Component("myBean") 自定义

SpringBoot Ioc容器

IOC容器是Springboot框架的一个核心组件,负责管理Bean的生命周期、依赖关系和配置,通过控制反转和依赖注入,极大地简化了对象的创建和管理过程

控制反转:是一种设计原则,核心思想是将程序的控制权从代码本身转移到外部容器或框架

依赖注入(DI):是控制反转的一种实现方式,其核心思想是:由外部容器主动将对象所需的依赖关系“注入”到对象中,而不是由对象自己创建或查找依赖

IoC容器有两个主要接口

  • BeanFactory:是Spring框架中最基础的IoC容器接口,由org.springframework.beans.facytory.BeanFactory 接口定义,提供最基本的 Bean 管理功能,如依赖注入、Bean 生命周期管理。BeanFactory容器延迟加载(Lazy-Loading)Bean,只有在需要时才会创建Bean,适用于资源受限或者要求较短启动时间的场景。
  • ApplicationContext:高级容器接口,是Spring Boot 的默认容器,继承自BeanFactory。ApplicationContext容器在应用程序启动时一次性创建并预加载所有Bean。它的主要实现类

        传统Spring框架中的实现类

        ClassPathXmlApplicationContext:从类路径(Classpath)下的 XML 文件中加载bean定义

        FileSystemXmlApplicationContext:从文件系统中的XML文件中加载bean定义

        AnnotationConfigApplicationContext:基于注解来配置和管理Bean

        SpringWeb应用中的实现类

        XmlWebApplicationContext:在Web应用中从类路径(Classpath) 或 Web 应用根目录下的xml文件中加载bean定义

        AnnotationConfigWebApplicationContext:在Web应用中基于注解来配置和管理Bean

        Springboot中的扩展实现类

        AnnotationConfigServletWebServerApplicationContext:Springboot ServletWeb应用中基于注解来配置和管理Bean

        ReactiveWebApplicationContext:Springboot响应式Web应用中基于注解来配置和管理Bean

3.添加依赖

在项目的构建文件中声明需要使用的 Spring Boot Starter或者其他三方库,和python中的pip install xxx是一个目的

如果是Maven构建,构建文件为pom.xml,三方库声明在dependencyManagement结构中

<dependencyManagement><dependencies><dependency><groupId>xxx-xxx</groupId><artifactId>xxx-xxx</artifactId><version>xxxx</version></dependency></dependencies>
</dependencyManagement>

比如:


如果是Gradle构建,构建文件为build.gradle,三方库声明在buildscript中

4.IntelliJ IDEA 的“隐式编译”机制

Spring Boot 启动时扫描的是 classpath 下编译后的.class文件和配置文件,而非src/main/java和src/main/resources下的源码文件,可能很多刚用IntelliJ IDEA开发的测开同学会觉得自己在src/main/java和src/main/resources下新增的代码,并没有执行maven package,直接执行Application.java启动Springboot,新增的代码或者配置也会生效了,以为是直接运行src/main/java和src/main/resources下的源码。实际上是当执行Application.java启动Springboot时,IDE 会自动触发编译流程,将 src/main/java 中的 Java 源码编译成 .class 文件,并放在target/classes下,并将 src/main/resources 中的资源文件复制到target/classes下。

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

相关文章:

  • 网站开发三大流行语言苏州旺道seo
  • 编程入门自学网站seo外链发布工具
  • 上海闵行做网站的公司产品软文范例500字
  • 广州网站建设怎么做梁水才seo优化专家
  • 怎么让网站绑定域名访问网络推广员一个月多少钱
  • 网站空间到期查询百度一下搜索一下
  • 知名网站建设平台seochinaz查询
  • 临沧永德网站建设电子商务公司百度知道电脑版网页入口
  • 网络科技有限公司注册资金最低seosem是指什么意思
  • 兰州公司网站建设天津百度快速优化排名
  • 什么做婚车网站最大搜索关键词是什么意思
  • java 建网站长沙seo培训
  • 网站营销力爱站seo工具包下载
  • 网页制作模板菜鸟天津seo霸屏
  • 日本做动漫软件视频网站有哪些百度霸屏推广多少钱一个月
  • 山西网站开发公司电话发新闻稿平台
  • 有哪些能做专门接做标书的网站商业软文
  • 正规网站建设推荐沧州网站建设优化公司
  • 优秀营销策划方案搜索排名优化公司
  • 怎么问客户做不做网站北京网讯百度科技有限公司
  • 营销型网站建设公司百度账号购买1元40个
  • 网站做加qq群链接地址seo最强
  • 做网站的开场白青岛seo经理
  • 电商网站开发 上海广州网站运营
  • php网站制作常用代码成都百度快照优化排名
  • 科技公司经营范围包括哪些长沙网站推广seo
  • 做企业网站有什么好处网络推广app是干什么的
  • 手机网站建设维护西安seo顾问培训
  • 发布企业信息的网站360广告联盟平台
  • 农业企业网站建设流程网站维护合同