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>
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>
相关文章推荐
- 灾备测试
- Axis2+MyEclipse通过WSDL2Java生成wsdl客户端
- 收集的27个java开发常用工具类.基本满足开发需求
- 提高Java 性能的5点 理解+实用
- 对象导论之每个对象都有一个接口
- spring 事务传播性和事务的隔离级别
- JDK源码学习(8)-java.util.concurrent.ConcurrentHashMap
- java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
- jdk error
- java web开发资料
- java设计模式
- Java Eclipse RCP(1)-------OSGi的基本原理
- RxJava(11-线程调度Scheduler)
- RxJava(11-线程调度Scheduler)
- Eclipse变量插件问题
- Eclipse Class Decompiler——Java反编译插件
- java动态代理(JDK和cglib)
- Java @override报错的解决方法
- 善用Eclipse的代码模板功能
- Java使用MyEclipse构建webService简单案例