Spring应用

什么是Spring

  1. Spring的核心是提供了一个容器(container),通常称为Spring应用上下文(Spring application context),
    他们会创建和管理应用组件。这些组件也可以称为bean,会在Spring应用上下文中装配在一起,从而形成一个完整的应用程序。
  2. 将bean装配在一起的行为是通过一种基于依赖注入(dependency injextion DI)的模式实现的。
    此时,组件不会再去创建它所依赖的组件并管理他们的生命周期,使用依赖注入的应用依赖于单独的实体(容器)来创建和维护所有的组件,
    并将其注入到需要它们的bean中,通常,这是通过构造器参数和属性访问来实现的。

指导Spring应用上下文将bean装配在一起的方式中,基于Java的配置较为常见,也有基于XML配置的。Java配置如下:

@Configuration
public class ServiceConfiguration {
    @Bean
    public InventoryService inventoryService() {
        return new InventoryService();
    }

    @Bean
    public ProductService productService() {
        return new ProductService(inventoryService());
    }
}

@Configuration 注解会告知Spring这是一个配置类,会为Spring应用上下文提供bean。

@Bean 在方法使用了Bean,表明了这些方法所返回的对象会以bean的形式添加到Spring的应用上下文中
(默认情况下,这些bean所对应的BeanID与定义他们的方法名称是相同的)。


在Spring技术中,自动装配起源于所谓的自动装配(autowiring)和组件扫描(component scanning)。
借助组件扫描技术,Spring能够自动发现应用类路径下的组件,并将他们创建成Spring应用上下文中的Bean。
借助自动装配技术,Spring能够自动为组件注入他们所依赖的其他Bean。

随着Spring Boot的引入,自动装配的能力已经远远超出组件扫描和自动装配。Spring Boot是Spring框架的拓展,
提供了很多增强生产效率的方法。最为大家所熟知的增强方法就是自动配置(autoconfiguration),Spring Boot能够基于类路径中的条目,环境变量和其他因素合理猜测需要配置的组件并将它们装配在一起。

Spring 应用

Spring项目的结构

  • mvnw和mvnw.cmd:这是Mavan包装器(wrapper)脚本。借助这些脚本,即使你的机器上没有安装Maven,也可以构建项目。

  • pom.xml: 这是Maven构建规范。

  • application.properties: 这个文件起初是空的,但是它为我们提供了指定配置属性的地方。

  • static:在这个文件夹下,你可以存放任意为浏览器提供服务的静态内容,该文件夹初始为空。

  • templas:这个文件夹中存放用来渲染内容到浏览器的模板文件,该文件夹初始为空。

  • xxApplicationTests.java: 这是一个简单的测试类,它能确保Spring应用上下文可以成功加载。


引导应用

因为我们会通过可执行JAR文件的形式来运行应用,所以很重要的一点就是要有一个主类。它会在JAR运行的时候被执行。同时我们还需要一个最小化的Spring配置,以引导该应用。这就是xxApplication类所做的事,如下所示

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

@SpringBootApplication注解表明这是一个SpringBoot应用,它是一个组合注解,结合了其他三个注解

  • @SpringBootConfiguration: 将该类声明为配置类。这个注解实际上是@Configuration注解的特殊形式。
  • @EnableAutoConfiguration:启用Spring Boot的自动配置。
  • @ComponentScan:启用组件扫描。这样我们就能够通过像@Component,@Controller,@Service这样的注解生命其他类,Spring会自动发现它们并将它们注册为Spring应用上下文中的组件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值