Spring(2)ioc操作
来源:互联网 发布:阿里云配置tomcat教程 编辑:程序博客网 时间:2024/06/16 19:32
1、ioc操作分为两个部分
(1)ioc的配置文件方式
(2)Ioc的注解方式
2、ioc的底层原理
(1)xml配置文件
(2)Dom4j解决xml
(3)工厂设计模式
(4)反射
3、实现原理
原来的方式耦合度太高了
比如说
Publi class User{
Public void add(){
...
}}
那么如果想要调用方法就需要
User user=new User();
User.add();
后来就采取使用工厂模式解耦合操作
Public class UserService{
Public void add(){}}
Public class UserServlet{
//调用
UserService s=Factory.getService();
s.add();
}
如果想要在UserServlet中调用UserService中的add方法就需要创建工厂类
//建一个工厂类
Public class Factory{
//提供一个返回UserService对象的方法
Public static UserService getService(){
Return new UserService();}}
//静态方法返回service对象
但是这个方法还是不太好
因为servlet和工厂还有耦合度
我们想要的是高内聚低耦合:就是一个类中紧密相连,不同的类中关联度低是
在ioc中是这么做的(ioc中怎么实现)
把我们的对象创建不是new出来的是配置文件配出来的
首先由两个类
Public class Service{}
Public class Servlet{}
在servlet要得到service的对象
第一步创建一个配置文件(xml)在配置文件中配置对象类
<bean id=”Servlce” class=”要创建对象的类的全路径”/>
第二步创建一个工厂类使用dom4j解析文件+反射
Public class Factory{
//提供返回对象的方法
Public static Service getService(){
//1使用dom4j解析(对文件内容进行操作)xml文件
//根据配置文件的id值得到id值对应的class属性得值
String classValue=”class属性值”;
//2使用反射创建类的对象
Class clazz=Class.forName(classValue);
//创建类的对象
Service service=Class.newInstance();
Return service;
}}
4、ioc实例
1、导入jar包
Jar包的特点是每个功能三个jar包
(1)源代码(2)文档(3)基本
做string最基本功能时只需要core container中的:
Beans Core Context SpEL
还需要导入支持日志输出的jar包
Commons-logging-1.2.jar还有一个叫log4j-1.0.16.jar
2、创建一个类在类里面创建方法
3、创建一个spring的配置文件配置创建的类
(1)Spring的核心配置文件名称和位置不是固定的
一般放在src下面,建议applicationContext.xml
(2) 引入schema约束
找到docs目录下的spring-framework-reference下的html
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans/spring-beans.xsd ">
</beans>
(3) 配置对象的创建
<!-- ioc入门 -->
<bean id="user" class="cn.itcast.ioc.User"></bean>
所以配置文件里面是
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans/spring-beans.xsd "
>
<!-- ioc入门 -->
<bean id="user" class="cn.itcast.ioc.User"></bean>
</beans>
4、测试对象创建
package cn.itcast.ioc;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIOC {
@Test
public void testUser() {
//1加载spring配置文件,根据创建对象
ApplicationContext context=
new ClassPathXmlApplicationContext("applicationControl.xml");
//因为文件在src下所以直接可以写文件名
//根据配置文件的配置把对象创建
//2得到配置创建的对象
//context.Bean("id值");
User user=(User) context.getBean("user");//得到就是对象
System.out.println(user);//如果user对象能创建得到的是地址
user.add();
}
}
- Spring(2)ioc操作
- Spring-(2)Spring IOC
- 浅析spring IOC操作
- Spring—IOC操作
- spring的ioc操作
- 【spring】深入IOC(2)
- Spring IoC学习笔记(2):初步配置bean以及一般操作
- 我的java/Spring框架入门学习过程(2):IOC的基本操作
- spring IOC源码分析(2)
- 对Spring IOC理解(2)
- spring 学习笔记(2)--IOC(DI)
- Spring:IOC—控制反转(2)
- Spring IoC(2) --- 注解方式
- Spring IOC(2)
- Spring(2): IoC容器
- Spring IOC 2
- Spring(2)—IOC
- spring(IOC+AOP)
- ipad横竖屏尺寸(转载)
- python26高级[读写Excel](转)
- tomcat配置使用(转)
- MVP+Fresco+RxJava
- HBase之BlockCache数据读取
- Spring(2)ioc操作
- ardoino人类智能机械未来的希望
- 移植mtd-utils-1.5.1到arm记录
- iOS:KVO的概述与使用(转)
- 各位相加-LintCode
- 昨天申请的免费TexturePacker注册码到了
- Mysql基本用法(转)
- mysql的表分区(转)
- 使用java访问MySQL数据库