Spring3.x框架的使用

Spring的优缺点

优点:
1:开发人员可以只关注整个结构中的其中某一层;
2:可以很容易的用新的实现来替换原有层次的实现;
3:可以降低层与层之间的依赖;
4:有利于标准化;
5:利于各层逻辑的复用。
6:结构更加的明确
7:在后期维护的时候,极大地降低了维护成本和维护时间
缺点:
1:降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2:有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

在项目下导入jar包和schema文件夹

schema文件夹
spring-beans-3.2.xsd
spring-context-3.2.xsd

在src下面导入bean.xml

bean.xml的名字并没有固定,只要是xml文件就可以了。

配置bean.xml

要写Student实体类,这个类里要包括无参的构造函数。

     
     tom  

测试配置是否正确,只需要写test类里面有main方法就可以了。

    ApplicationContext ac=new ClassPathXmlApplicationContext("bean.xml");
    Student stu=(Student) ac.getBean("stu");
    System.out.println(stu);

例子1

1,构建包com.briup.bean在包下构建Address类,属性如下:

   private String city;
   private String street;
   private String country;

在包下构建Person类,属性如下:

 private int sNo;
 private String name;
 private boolean gender;
 private int age;
 private Address address;

提供get和set方法,重写toString方法,输出当前对象字符串表达形式

2,使用Set方式完成一下要求:
完成基本类型以及对象类型的装配操作
1)构建包com.briup.ioc.set
2)在包下构建set.xml
配置文件使用set方式注入完成Person类中Address属性和其他基本属性的注入
3)完成之后,使用bean设置Student的别名并修改相关文件测试

set.xml

 
     city 
     street 
     country 
  
     

    
     111111 
     sNoname 
     true 
     12 

Test

String path = "com/huihui/ioc/set/set.xml";
    ApplicationContext  ac =new ClassPathXmlApplicationContext(path);
    Person sb = (Person) ac.getBean("Person");
    System.out.println(sb);
    System.out.println(sb.getAddress());

例子2

集合的装配操作
1)在com.briup.bean中构建结合类CollBean,属性如下,并提供get/set方法

   private List lists;
   private String[] arrays;
   private Set sets;
   private Map maps;
   private Properties pros;

2)构建包com.briup.ioc.coll
3)在包下构建coll.xml配置文件完成各种集合属性的注入

coll.xml

    
    
         
            list1
            list2
            list3
         
    
    
         
            set1
            set1
            set3
         
    
    
         
            
              value1
            
            
              value2
            
         
    
    
         
           prop1
          prop2
          prop3
         
    
  

Test

   String path = "com/huihui/ioc/coll/coll.xml";
    ApplicationContext  ac =new ClassPathXmlApplicationContext(path);
    CollBean sb = (CollBean) ac.getBean("CollBean");
    sb.printInfo();

CollBean

   public void printInfo(){
    System.out.println("sets");
    System.out.println(sets);
    Set proSet=pros.entrySet();
    Iterator it=proSet.iterator();
    while(it.hasNext()){
        Map.Entry entry1=(Entry) it.next();
        System.out.println("pros key"+entry1.getKey());
        System.out.println("pros value"+entry1.getValue());
    }
}

构造器注入


    
    
    

第二种方式

   
        30
     
     
        200
     
     
        lily
     

你可能感兴趣的:(Spring3.x框架的使用)