您的位置:首页 > 编程语言 > Java开发

Spring 基础知识及练习

2016-07-04 17:07 316 查看
Spring第一天  入门

1.Spring的IOC理解。

2.编写Spring的程序:

  1)引入Spring相关的jar包。(可以从官网下载,下载之后将lib下的jar包拷贝到项目中,另外一种方式是通过myeclipse去完成…..)

  2)编写applicationContext.xml配置文件(将java的对象注入到IOC容器里)。比如:

<?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:p="http://www.springframework.org/schema/p"

         xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

  <bean id="womanbean"class="com.gxa.bj.pojo.Woman">

       <property name="name" value="张美丽"></property>

  </bean>

 

</beans>

3.)调用Spring相应的程序处理:

  ApplicationContext appContext = newClassPathXmlApplicationContext("applicationContext.xml");

      Woman woman = appContext.getBean("womanbean", Woman.class);

      System.out.println("通过IOC找到的这个美女的名字:"+woman.getName());

 

3.在Spring中如何注入一个对象?

 分类:

1)set注入(属性注入)。(无参构造函数)

<bean id="womanbean"class="com.gxa.bj.pojo.Woman">

       <property name="name" value="张美丽"></property>

       <property name="age"value="23"></property>

       <property name="womanType" value="身材高挑"></property>

  </bean>

2)构造函数的注入:

  <bean id="fanbingbing"class="com.gxa.bj.pojo.Woman">

       <constructor-arg value="28" name="_age" >

       </constructor-arg>

       <constructor-arg value="范冰冰"name="_name" type="java.lang.String">

       </constructor-arg>

       <constructor-arg value="性感" name="_womanType"type="java.lang.String"></constructor-arg>

  </bean>

4.默认情况下,每个bean对象都是单例模式(表示该bean对象是不是在内存中只存在一个)。要改变每个bean对象不为单例模式,只需要改变bean对象的Scope属性值不为scope="singleton"

 

5.自动装配(自动匹配Spring里的bean对象):

 比如:bean里的有个属性名:privateWoman fanbingbing;

 而Spring里的bean对象的名字也叫:fanbingbing;

<bean id="fanbingbing"class="com.gxa.bj.pojo.Woman">

       <constructor-arg value="28" name="_age" >

       </constructor-arg>

       <constructor-arg value="范冰冰"name="_name" type="java.lang.String">

       </constructor-arg>

       <constructor-arg value="性感"name="_womanType"type="java.lang.String"></constructor-arg>

  </bean>

  <bean id="man" class="com.gxa.bj.pojo.Man"autowire="byName">

       <property name="name" value="李晨"></property>

  </bean>

设置的这个装配类型为通过属性名自动装配:autowire="byName"

建议:一般情况下不要开启自动匹配。引用的方式:ref所针对的是bean里的id名字:

<bean id="fanbingbing"class="com.gxa.bj.pojo.Woman">

       <constructor-arg value="28" name="_age" >

       </constructor-arg>

       <constructor-arg value="范冰冰"name="_name" type="java.lang.String">

       </constructor-arg>

       <constructor-arg value="性感"name="_womanType"type="java.lang.String"></constructor-arg>

  </bean>

  <bean id="man" class="com.gxa.bj.pojo.Man">

       <property name="name" value="李晨"></property>

       <property name="fanbingbing" ref="fanbingbing"></property>

  </bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: