spring_01

Posted 厨房有只偷吃的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring_01相关的知识,希望对你有一定的参考价值。

介绍

是一个贯穿整个项目的管理对象的容器

 一站式框架

1.正是因为spring框架性质是属于容器的性质,容器中装什么对象就有什么功能所以
是一站式框架。

2.不仅不排斥其它框架,还能帮其它框架管理对象

3.aop支持

4.ioc思想 控制反转(Inversion of Control)

    把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语。
    
    包括
        依赖注入(Dependency Injection,简称DI)
    和
        依赖查找(Dependency Lookup)。

    IoC可以认为是一种全新的【设计模式】,但是理论和时间成熟相对较晚,

    并没有包含在GoF中(java的23种设计模式)。

5.spring jdbc

6.aop事物

7.junit测试支持

搭建

1.导包

    最基础的4个核心包

        beans 

        context 

        core 

        expression


    spring 使用的是Apache的日志包

        com.springsource.org.apache.commons.logging-1.1.1.jar

        老版本中,还需要:

        com.springsource.org.apache.log4j-1.2.15.jar    

2.创建类

3.创建xml配置文件 注册对象到容器

    3.1文件位置任意 (建议src目录下)
    
    3.2文件名任意建议applicationContext.xml
    
    3.3约束引入

        preferences=》xml=》xml catalog =》 add =》File System =》

        spring=》 schema =》 beans =》 .xsd

        key type: Schema location

        key:加 / + .xsd


        <beans><beans/>
        
        Design  右键Edit =》 add  =》 xsi =》将自己添加的.xsd引入

4.注册对象到容器

    <!-- 将User对象交给spring容器管理 -->

    <bean name="user" class="org.spring.domain.User"></bean>

5.测试

    @Test
    public void test(){

        //1)获取容器
        ConfigurableApplicationContext cac = 
            new ClassPathXmlApplicationContext("applicationContext");
        //2)向容器“要”对象
        User user = (User)cac.getBean("user");
        //3)使用获取过来的对象 
        System.out.println(user);
        //4)释放资源 关闭容器
        cac.close();
    
    }   

概念

1.思想 IOC 

    di 依赖注入

        注入方式: 构造方法 ,set方法注入,字段注入(不推荐)

        注入类型: 基本类型 引用类型

2.BeanFactory & ApplicationContext

    BeanFactory

        spring的原始接口,针对原始接口实现类实现的功能较为单一

        特点:每次获取对象的时候才创建对象(原因:当时的系统资源较小)

    ApplicationContext

        特点:每次容器启动时就会创建容器中配置的所有对象

        提供了更多的功能

spring配置详解

以上是关于spring_01的主要内容,如果未能解决你的问题,请参考以下文章

Spring_01

Spring学习笔记01_基础知识

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

Spring boot:thymeleaf 没有正确渲染片段

为啥 GraphQL 片段在查询中需要 __typename?