Spring之框架初探
来源:互联网 发布:人民大学 数据库系统 编辑:程序博客网 时间:2024/04/29 03:24
Spring核心
IoC:控制反转Inversion of Control
AOP: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=[耍流氓, 服务]}
0 0
- Spring之框架初探
- SSH三大框架初探之Spring
- Spring框架初探【1】
- Spring框架初探【2】
- Spring框架初探【3】
- Spring框架初探【4】
- Spring框架初探
- MyBatis框架之初探
- Spring Batch批处理框架初探
- Spring框架--初探事务管理器
- spring之ApplicationContext初探
- 【自然框架】之“解耦”初探
- 项目架构之spring初探
- 初探spring之IoC实现
- Spring笔记之(一)初探
- Spring Boot 初探之JSP
- Spring Boot 初探之JSP
- 使用spring 2.5.6初探mvc框架
- 解决linux不能上外网的问题
- LeetCode 220 Contains Duplicate III
- 驱动编写
- 反编译文件管理器apk隐藏蓝牙模块
- std::map find 陷阱
- Spring之框架初探
- Maven入门指南④:仓库
- 一名传智播客普通员工的心声:我骄傲,我是传智人
- Unity3D编辑器插件编写
- 获取使用nginx代理后的真实IP地址
- spring mvc 4+ @ResponseBody 中文乱码
- Mysql安装
- JavaScript变量提升和函数提升
- Maven入门指南⑤:使用Nexus搭建Maven私服