zoukankan      html  css  js  c++  java
  • spring05

    通过静态工厂的方法创建bean;和实例工厂方法:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <!-- 通过静态工厂的方法来配置bean ,注意不是配置静态工厂的实例,而是配置bean的实例 -->
        <!-- class 属性:指向的是静态工厂方法的全类名
           factory-method :指向的是静态工厂方法的名字
           constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数 -->
           <bean id="car" class="lib2.Car"
           factory-method="gerCae">
           <constructor-arg value="audi"></constructor-arg></bean>
           <!-- 配置工厂的实例 -->
           <bean id="casec" class="instance"></bean>
           <!-- 通过实例工厂方法来配置bean -->
               <!-- factory-bean: 属性:指向的是静态工厂方法的bean 
           factory-method :指向的是静态工厂方法的名字
           constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数 -->
           <bean id="cae" factory-bean="cad" factory-method="cac">
           <constructor-arg value="asca"></constructor-arg></bean>
    
    </beans>

    factory来配置bean。创建类的时候要继承接口

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <!-- 
        通过factorybean来配置bean的实例
        class:只想factorybean的全类名
        property:配置的事factorybean的属性(可能是里面的复制函数set) -->
        <bean id="Car" class="factorybean">
        <property name="brand" value="bwm"></property></bean>
    
    </beans>

    基于注解来配置bean和bean的线相关的属性。

     组件扫描:spring能够从classpath夏自动扫描、侦测和实例化具有特定注释的组件;

    package test1;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public class TestObject {
    
    }
    package test2;
    
    import org.springframework.stereotype.Repository;
    
    @Repository
    public class UserReposityImpl implements UserRepository {
    
        @Override
        public void save() {
            // TODO Auto-generated method stub
            System.out.println("UserRepository save....");
    
        }
    }package test3;
    
    import org.springframework.stereotype.Service;
    
    @Service
    public class UserService {
        public void add()
        {
            System.out.println("UserSerivce add..");
        }
    
    }
    package test4;
    
    import org.springframework.stereotype.Controller;
    
    @Controller
    public class UserController {
    public void execute()
    {
        System.out.println("UserController execute..");
    }
    }
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
        <!-- 指定spring ioc容器扫描的包 -->   
        <context:component-scan base-package="test1.TestObject"></context:component-scan>
    
    </beans>
    package test1;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import test2.UserRepository;
    import test3.UserService;
    import test4.UserController;
    
    public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ApplicationContext ct=new ClassPathXmlApplicationContext("beans-053.xml");
        TestObject to=(TestObject) ct.getBean("testObject");
        UserController userController=(UserController) ct.getBean("userController");
        UserRepository userRepository=(UserRepository) ct.getBean("userRepository");
        UserService userService=(UserService) ct.getBean("userService");
        System.out.println(to);
        System.out.println(userController);
        System.out.println(userService);
        System.out.println(userRepository);
        
    }
    }

    关于MyBeanPostProcessor的应用。

  • 相关阅读:
    矩阵分析 p13~p20
    矩阵分析 p1~p13
    复变函数2
    口语80篇(1-2)
    复变函数1
    背单词方法
    writing practice
    将博客搬至CSDN
    windows内核编程 白话设备栈
    sfliter__except_handler4
  • 原文地址:https://www.cnblogs.com/dazhi151/p/12622471.html
Copyright © 2011-2022 走看看