Spring框架练习

关于框架

        框架(Framework)一个框架是一个可复用的设计构件,它规定了应用 的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控 制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提 供了上下文(Context)关系。

         应用框架指的是实现了某应用领域通用完备功能(除去特殊应用的部分) 的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基 础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。 具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支 持应用专用的行为

(说实话,光看这个令我头大)

关于Spring框架

     Spring框架主要解决了创建对象、管理对象的问题。

     在开发实践中,Spring框架的核心价值在于:开发者可以通过Spring框 架提供的机制,将创建对象、管理对象的任务交给Spring来完成,以至于 开发者不必再关心这些过程,当需要某个对象时,只需要通过Spring获取 对象即可。

     – Spring框架也经常被称之为:Spring容器·

       在开发实践中,有许多类型的对象、配置值都需要常驻内存、需要有唯一 性,或都需要多处使用,自行维护这些对象或值是非常繁琐的,通过 Spring框架可以极大的简化这些操作

创建一个maven项目(在maven工程中使用Spring)

Spring框架需要导入依赖项spring-context:

<dependency>

        <groupId>org.springframework</groupId>

        <artifactId>spring-context</artifactId>

        <version>5.3.14</version>

</dependency>

版本号可调整

被管理的对象,被称为Spring Bean

创建对象,创建对象方式有2种

-通过@Bean方法

-通过组件扫描

@Bean方法

创建SpringBeanFactory类

@Configuration
public class SpringBeanFactory {

    @Bean
//@Bean("random")
    public Random random(){
        return new Random();
    }
}

@Configuration需要添加在类的声明前,表示该类是配置类,会自动执行类中的@Bean方法,并解读配置类上的其他注解

@Bean使Spring框架自动调用该方法,管理该方法返回的结果,@Bean必须在@Configuration中

创建测试类

public class SpringRunner {
    public static void main(String[] args) {
        //加载Spring
        AnnotationConfigApplicationContext ac
                = new AnnotationConfigApplicationContext(SpringBeanFactory.class);
        //从Spring中获取对象
        Random random = (Random) ac.getBean("random");
        //测试使用对象,观察是否获取到有效对象
        System.out.println("random > " + random);
        //关闭
        ac.close();
    }
}

-将SpringBeanFactory.class作为参数传入AnnotationConfigApplicationContext构造方法中,否则不会加载SpringBeanFactory.class类的内容

-getBean()中传入的字符串参数"random"是SpringBeanFactory类中的@Bean方法的名称

        这个beanName必须是有效的,否则会出现NoSuchBeanDefinitionException

        如果传入的类型在Spring容器中有2个或多个匹配类型的对象,将导致NoUniqueBeanDefinitionException

        @Bean注解中可以传入String类型参数,传入后,该注解对应的方法的beanName就是传入的参数值,如果需要传入beanName,则要传入这个参数值

-SpringBeanFactory类中的方法必须添加@Bean注解,作用是使得Spring框架 自动调用此方法,管理该方法返回的结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值