Spring 是一个 "容器类型的的框架!"
在他看来所有的组件都可以用"bean" 来表述
"它既可以在web环境下装配Bean 当然也可以在Java项目下装配bean"
每个组件就是一个"bean" 他的核心就是IOC "控制反转" -既是实例化对象的行为 反转给了Spring容器/
DI "依赖注入" Spring 可以通过配置文件来注入各个bean的属性值<propety name="" value=... "[ref='']"/>
简单的案例 java项目下:只需要导入 spring.jar / aptch-commons.jar就可以了
1、首先是spring的核心配置文件 applicationContext.xml 该文件用于"配置bean就是组件"和"建立"组件间的关系 使用的验证格式是Schema 不是DTD
2、配置一个简单的Bean user
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop <!--spring提出的新思想面向切面编程 此示例可以不使用--> http://www.springframework.org/schema/aop/spring-aop-2.5.xsd <!--同上--> http://www.springframework.org/schema/tx <!--spring 的事务管理机制的配置 --> http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="user" class="com.fengyi.domin.Users" scope="[singleTime][prototype][request][session][globosession][五中bean的生命周期 默认singleTime]"> <property name="userName" value="张三"/> <property name="password" value="123456"/> </bean> </beans>
该USERbean对应的Java类是
package com.fengyi.domin; import java.io.Serializable; public class Users implements Serializable { private static final long serialVersionUID = 1L; private String userName ; private String password ; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String toString() { return "我叫:" +this.userName + ":: 密码是"+this.password ; } }
创建一个包 简历主函数 通过Spring调用该bean得到User对象
import com.fengyi.domin.Users; public class Test { public static void main(String[] args) { //通过ClassPathXmlApplicationContext 对象拿到访问 spring容器拿到Spring容器中的bean ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml"); //该方法一旦建立容器对象就会 实例化轻重的bean对象 Users user = (Users)app.getBean("user"); System.out.println(user); //通过BeanFactory bean工厂中拿到 BeanFactory beanfactory = new XmlBeanFactory( new ClassPathResource("applicationContext.xml")); //该bean工厂中拿到的bean 只在真正使用时才进行实例化 Users us = (Users)beanfactory.getBean("user"); System.out.println(us); } }
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>