Spring之框架初探
2016-05-17 11:46
477 查看
Spring核心
IoC:控制反转Inversion of ControlAOP:Aspect Oriented programming
依赖注入配置文件介绍
1、 配置Bean的配置文件(文件名字叫什么都可以)2、 在程序中利用context获取实例对象
如何实现依赖注入
使用IoC容器实现依赖注入DI。DI依赖注入几种方法:
1. 构造注入(调用构造器)
2. set方法注入(常用)
3. 接口注入
即:在相应的组件里面提供set方法,spring自动调用set方法。
实际操作
如果想使用spring,首先导入jar;spring是一个非全有全无开源框架。spring可以用在普通的java程序,web程序,ejb程序。1、 编写实体类
2、 在源包下创建文件夹并创建配置文件如:bean.xml,并做配置实体类。
3、 利用ClassPathXmlApplicationContext(“配置文件位置”)获取实体对象。
注意:配置文件中配置的bean,可以选择配置 scope=”prototype/singleton”
prototype:每次获取对象都是创建的新对象。
singleton:每次获取对象都是同一个对象。
bean.xml
<?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-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <bean id="address" class="com.justcrazy.www.model.Address"> <property name="city" value="北京" /> <property name="street" value="五棵松路26号" /> </bean> <bean id="company" class="com.justcrazy.www.model.Company" scope="prototype"> <property name="name" value="嘿嘿嘿" /> <property name="age" value="1" /> <property name="address" ref="address" /> <property name="employees"> <list> <value>帅哥</value> <value>美女</value> <value>女流氓</value> </list> </property> <property name="department"> <set> <value>耍流氓</value> <value>服务</value> </set> </property> </bean> </beans>
Address 类
public class Address { private String city; private String street; public Address() { } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } @Override public String toString() { return "Address{" + "city=" + city + ", street=" + street + '}'; } }
Company类:
public class Company { private String name; private int age; private Address address; private List employees; private Set department; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public List getEmployees() { return employees; } public void setEmployees(List employees) { this.employees = employees; } public Set getDepartment() { return department; } public void setDepartment(Set department) { this.department = department; } @Override public String toString() { return "Company{" + "name=" + name + ", age=" + age + ", address=" + address + ", employees=" + employees + ", department=" + department + '}'; } }
测试类
public class Test { public static void main(String[] args) { //配置文件所在位置为:src目录下config包内 ApplicationContext context = new ClassPathXmlApplicationContext("/config/beans.xml"); Company company = (Company)context.getBean("company"); System.out.println(company); } }
打印结果
Company{name=嘿嘿嘿, age=1, address=Address{city=北京, street=五棵松路26号}, employees=[帅哥, 美女, 女流氓], department=[耍流氓, 服务]}
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- springmvc 发送ajax出现中文乱码的解决方法汇总
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- Spring Bean基本管理实例详解
- java实现简单美女拼图游戏
- 详解Java的Spring框架中的事务管理方式