Spring 笔记

1.Spring作用:
    1.生态体系庞大,全能型选手!【springmvc是其一个子模块,jdbcTemplate能直接操作数据库!】
    
    
    2.将其他组件粘合在一起
    
    
    3.IOC容器和AOP[Aspect Oreinted Programming]:
        Spring的Ioc[Inverse of Controller]机制(控制反转和依赖注入)正是用在此处。    
        Spring的Ioc(控制反转和依赖注入)
             控制反转[Ioc]:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。
             控制反转是一种思想,其具体实现就是依赖注入!
            
             依赖注入[DI:Dependency Injection]:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。
    

2.IOC容器细节
    1.使用IOC容器创建对象
    2.使用IOC容器在创建对象的同时,给对象的属性赋值
    
    3.在创建对象的过程中,实现组件对象之间的自动装配
    
    
3.搭建Spring IOC容器需要的开发环境
   1.导入IOC容器需要的jar包
        spring-beans-4.0.0.RELEASE.jar
        spring-context-4.0.0.RELEASE.jar
        spring-core-4.0.0.RELEASE.jar
        spring-expression-4.0.0.RELEASE.jar
        commons-logging-1.1.3.jar
   2.创建Spring配置文件[Spring bean Configuration File]
   
    
实验1:

    <!--实验1:通过IOC容器创建对象,并为属性赋值  -->
    <!-- 需要由IOC容器创建对象的全类名 -->
    <!-- 为了便于从IOC容器中获取book对象,声明一个一个唯一的id值 -->
    <bean id="book01" class="com.neuedu.spring.bean.Book">
        <property name="bookId" value="2001"></property>
        <property name="bookName" value="三国演义"></property>
        <property name="author" value="罗贯中"></property>
        <property name="price" value="22.5"></property>
    </bean>
    
    
        @Test
        public void test01() {
            //1.创建IOC容器自身的对象
            //指定配置文件以类路径为基准的配置文件名
            ApplicationContext ioc= new ClassPathXmlApplicationContext("bean.xml");
            //2.从IOC容器中获取指定的对象
            Object bean = ioc.getBean("book01");
            System.out.println(bean);
        }
            
    
注意:
    ①IOC容器本身对象创建时,会将配置文件中配置好的bean先创建出来
    ②默认是单实例的,只创建bean的一个对象
    ③如果设置bean的scope属性为prototype,那么创建bean的对象就是多实例的,在获取的时候创建,每次获取对象都会创建新的
    ④.从IOC容器中获取对象
        ①根据bean的id获取
        ②根据bean的类型获取:要求容器中指定类型的bean是唯一的

bean的后置处理器:
    1.指的是在bean的初始化方法前后执行操作的专门的对象。
    2.自定义的后置处理器:
        1)需要实现接口:org.springframework.beans.factory.config.BeanPostProcessor .
        2) 做相应的配置就好!
    




原文地址:https://www.cnblogs.com/TYDBLOG/p/7445398.html