- 浏览: 20787 次
- 性别:
- 来自: 北京
文章分类
最新评论
(本文为自己书写,如有错误,请指正,大家共同进步,谢谢。)
1。Spring的IOC容器是一个提供IOC支持的轻量级的容器,为我们提供两种容器:BeanFactory和ApplicationContext。
BeanFactory是基础类型的IOC容器。ApplicationContext是以BeanFactory为基础构建的。
2。深入理解依赖注入
依赖注入(DI)也被称为控制反转(IoC)。
3。依赖注入的三种实现方式:
A:设置注入:(setter-无参的构造器实现)--->为主
B:构造方法注入--->为辅
C:接口注入(不常用)
<代码如下:>
package com.decophering.dao.impl;
import com.decophering.dao.UserDao;
import com.decophering.model.User;
public class UserDaoImpl implements UserDao {
public void save(User user) {
System.out.println(user.getUsername() + "save in Oracle ! ");
System.out.println(user.getPassword() + "save in DB2 ! ");
}
}
package com.decophering.dao;
import com.decophering.model.User;
public interface UserDao {
public void save(User user);
}
package com.decophering.model;
public class User {
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;
}
}
package com.decophering.service.impl;
import com.decophering.dao.UserDao;
import com.decophering.model.User;
import com.decophering.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao dao;
public void add(User user) {
dao.save(user);
}
public UserDao getDao() {
return dao;
}
public void setDao(UserDao dao) {
this.dao = dao;
}
public UserServiceImpl (UserDao dao){
super();
this.dao = dao;
}
}
package com.decophering.service;
import com.decophering.model.User;
public interface UserService {
public void add(User user);
}
package com.decophering.service;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.decophering.model.User;
public class UserServiceTest {
@Test
public void testAdd() throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService service = (UserService) context.getBean("UserService");
User u = new User();
u.setUsername("测试用户; ");
u.setPassword("111111; ");
service.add(u);
System.out.println(u.getUsername() + "\n" + u.getPassword());
}
}
<!--xml-->
<bean id="u" class="com.decophering.dao.impl.UserDaoImpl"></bean>
<bean id="UserService" class="com.decophering.service.impl.UserServiceImpl">
<!-- <property name="dao">
<ref bean="u"></ref>
</property>
-->
<constructor-arg>
<ref bean="u"></ref>
</constructor-arg>
</bean>
//输出结果
测试用户; save in Oracle !
111111; save in DB2 !
测试用户;
111111;
4。配置Bean的属性和依赖关系
Bean的配置:
a.定义Bean:IoC容器管理一或多个Bean,这些均在XML文件中提供的Bean的配置进行创建
包括:
id(唯一的),
name:名称(可以一个,或者多个),
class:Bean的具体实现类(包名+类名)。
b.Bean的依赖注入有两种表现方式:
(1)属性:<property/>对应是设置注入
(2)构造器参数:通过<constructor-arg/>对应构造注入
Spring的IOC容器
1。Spring的IOC容器是一个提供IOC支持的轻量级的容器,为我们提供两种容器:BeanFactory和ApplicationContext。
BeanFactory是基础类型的IOC容器。ApplicationContext是以BeanFactory为基础构建的。
2。深入理解依赖注入
依赖注入(DI)也被称为控制反转(IoC)。
3。依赖注入的三种实现方式:
A:设置注入:(setter-无参的构造器实现)--->为主
B:构造方法注入--->为辅
C:接口注入(不常用)
<代码如下:>
package com.decophering.dao.impl;
import com.decophering.dao.UserDao;
import com.decophering.model.User;
public class UserDaoImpl implements UserDao {
public void save(User user) {
System.out.println(user.getUsername() + "save in Oracle ! ");
System.out.println(user.getPassword() + "save in DB2 ! ");
}
}
package com.decophering.dao;
import com.decophering.model.User;
public interface UserDao {
public void save(User user);
}
package com.decophering.model;
public class User {
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;
}
}
package com.decophering.service.impl;
import com.decophering.dao.UserDao;
import com.decophering.model.User;
import com.decophering.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao dao;
public void add(User user) {
dao.save(user);
}
public UserDao getDao() {
return dao;
}
public void setDao(UserDao dao) {
this.dao = dao;
}
public UserServiceImpl (UserDao dao){
super();
this.dao = dao;
}
}
package com.decophering.service;
import com.decophering.model.User;
public interface UserService {
public void add(User user);
}
package com.decophering.service;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.decophering.model.User;
public class UserServiceTest {
@Test
public void testAdd() throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService service = (UserService) context.getBean("UserService");
User u = new User();
u.setUsername("测试用户; ");
u.setPassword("111111; ");
service.add(u);
System.out.println(u.getUsername() + "\n" + u.getPassword());
}
}
<!--xml-->
<bean id="u" class="com.decophering.dao.impl.UserDaoImpl"></bean>
<bean id="UserService" class="com.decophering.service.impl.UserServiceImpl">
<!-- <property name="dao">
<ref bean="u"></ref>
</property>
-->
<constructor-arg>
<ref bean="u"></ref>
</constructor-arg>
</bean>
//输出结果
测试用户; save in Oracle !
111111; save in DB2 !
测试用户;
111111;
4。配置Bean的属性和依赖关系
Bean的配置:
a.定义Bean:IoC容器管理一或多个Bean,这些均在XML文件中提供的Bean的配置进行创建
包括:
id(唯一的),
name:名称(可以一个,或者多个),
class:Bean的具体实现类(包名+类名)。
b.Bean的依赖注入有两种表现方式:
(1)属性:<property/>对应是设置注入
(2)构造器参数:通过<constructor-arg/>对应构造注入
发表评论
-
jdk tomcat 环境变量配置
2015-07-09 21:32 405Win7 下如何配置java环境变量 1。准备jdk包,wi ... -
页面有两个frame,怎样点击一个的链接改变另一个的内容
2015-04-07 13:58 1416<a src="地址" targe ... -
java代码怎么实现分页?求指教!!
2015-03-31 14:22 42Java实现分页源码及其思想 -
javaScript (1)
2015-03-24 17:19 536JavaScript 1、运算符 运算符就是完成操作的一 ... -
MyEclipse里部分习惯的更改
2015-03-20 17:30 475继续补充中---------------------- ... -
javaSE javaEE javaME == API下载
2015-03-20 14:06 796oracle下载各种API文档: http://www.ora ... -
spring------>>cvc-elt.1: Cannot find the declaration of element
2015-03-18 16:49 488将-------- <?xml version=&qu ... -
log4j
2015-03-18 16:14 356链接: http://www.blogjava.net/ ... -
PowerDesigner使用教程
2015-03-17 17:09 426链接跳转: http://www.cnblogs.com/la ... -
js乱码
2015-03-17 15:43 415检查你js文件的编码格式(简单的办法就是在dreamweave ... -
hibernate三种 状态
2015-03-16 21:49 424Transient:(瞬时状态)内存中一个对象,没有相对应 的 ... -
ssh整合所需lib包目录
2015-03-16 11:44 519转载于:http://blog.csdn.ne ... -
tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class
2015-03-13 16:05 713这个问题的出现是由于slf4j-log4j12 jar的变化, ... -
< could not insert: [com.hibernate.*.* >
2015-03-11 09:42 468hibernate.cfg.xml文件配置: <!- ... -
SSH 错误 信息收集
2015-03-06 16:47 671(文章为转载收集整理。。。。。若有不足请指正!!!谢谢。) ... -
log4j
2015-03-05 11:20 418### 设置org.zblog域对应的级别INFO,DEBUG ... -
B/S C/S
2015-03-05 09:27 469<!--文章改写--> C/S结构,即Clie ... -
Swing和AWT
2015-03-05 09:24 494原文出:http://cherry007.iteye.com/ ... -
错误整理。。。。
2015-03-04 17:28 410文件内容截取自:http://www.cnblogs.com/ ... -
MyEclipse 快捷键
2015-03-04 10:51 436MyEclipse 快捷键 自己设置myeclipse快捷键指 ...
相关推荐
spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> destroy-method="close"> <value>org.gjt.mm.mysql.Driver <value>jdbc:mysql://localhost:3306/demo <value>root ...
spring ioc容器初始化流程图 spring ioc容器依赖注入流程图 spring aop实现原理流程图
自己动手实现Spring IoC容器, 写Spring IOC容器.wps写Spring IOC容器.wps写Spring IOC容器.wps
Java-Spring-SpringIoC容器-SpringIoC的学习 SpringIoC容器的学习笔记 主要介绍了IoC容器工作原理以及如何配置IoC容器 通过标签和注解配置容器
Spring IoC容器实现的结构分析
spring ioc容器部署实现
熟练使用Spring IOC容器,如有意见或者建议
NULL 博文链接:https://ziyoujiedao.iteye.com/blog/262360
spring IOC容器依赖注入XML配置详解 运行环境:eclipse 构建工具:maven 不提供maven构建,maven用来解决jar包的依赖
基于xml注册,简单模拟spring ioc容器。快速理解ioc容器
主要介绍了Spring IOC 容器启动流程分析,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
迷你书是《Spring揭秘》的精选版,节选了原书中介绍Spring IoC容器的6个章节。《Spring揭秘》以幽默生动的语言、辅以有趣的故事和典故,循循善诱地阐述了Spring框架的方方面面。针对Spring框架的主要功能以及开发者...
1、标签主要用来进行Bean定义; 2、alias用于定义Bean别名的; 3、import用于导入其他配置文件的Bean定义,这是为了加载多个配置文件,当然也可以把这些配置文件构造为一个数组(new String[] {“config1.xml”, ...
本篇文章主要介绍了Spring实现一个简单的SpringIOC容器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
仿照Spring写的一个Ioc容器,注释很详细!
3.Spring Ioc容器解决循坏依赖.mp4
1.Spring Ioc容器源码解析(上)
2.Spring Ioc容器源码解析(下).mp4
1.spring中bean实例化的俩种方式 2.spring中bean的各种元素如何使用 3.spring中的bean管理 4.spring中不同类型bean的作用域 ...通过我的项目,可以跟着学习SPringIoC容器和Bean管理,帮助你快速上手SSM框架