Spring入门简单总结
2016-01-05 18:26
351 查看
使用spring流程
1、spring的依赖包配置* SPRING_HOME/dist/spring.jar
* SPRING_HOME/lib/log4j/log4j-1.2.14.jar
* SPRING_HOME/lib/jakarta-commons/commons-logging.jar
2、提供spring配置文件applicationContext.xml
3、提供log4j.properties配置文件
4、在spring中总共有 四种 方式进行依赖注入,常用的方法为set方法注入
Set注入
这是最简单的注入方式,假设有一个SpringAction,类中需要实例化一个SpringDao对象,那么就可以定义一个private的SpringDao成员变量,然后创建SpringDao的set方法(这是ioc的注入入口):
java对象代码
package com.bless.springdemo.action; public class SpringAction { //注入对象springDao private SpringDao springDao; //一定要写被注入对象的set方法 public void setSpringDao(SpringDao springDao) { this.springDao = springDao; } public void ok(){ springDao.ok(); } }
随后编写spring的xml文件,中的name属性是class属性的一个别名,class属性指类的全名,因为在SpringAction中有一个公共属性Springdao,所以要在标签中创建一个标签指定SpringDao。标签中的name就是SpringAction类中的SpringDao属性名,ref指下面,这样其实是spring将SpringDaoImpl对象实例化并且调用SpringAction的setSpringDao方法将SpringDao注入:
<!--配置bean,配置后该类由spring管理--> <bean name="springAction" class="com.bless.springdemo.action.SpringAction"> <!--(1)依赖注入,配置当前类中相应的属性--> <property name="springDao" ref="springDao"></property> </bean> <bean name="springDao" class="com.bless.springdemo.dao.impl.SpringDaoImpl"></bean>
另外三种分别为
构造器注入
静态工厂的方法注入
实例工厂的方法注入
详解:http://blessht.iteye.com/blog/1162131
总结
Spring IOC注入方式用得最多的是(1)(2)种,多谢多练就会非常熟练。
另外注意:通过Spring创建的对象默认是单例的,如果需要创建多实例对象可以在标签后面添加一个属性:
<bean name="..." class="..." scope="prototype">
5、让spring管理我们对象的创建和依赖,必须将依赖关系配置到spring的核心配置文件中
6、编写客户端
代码:
package com.houlu.spring.client; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.houlu.spring.dao.UserDao4MySqlImpl; import com.houlu.spring.manager.UserManager; import com.houlu.spring.manager.UserManagerImpl; public class Client { public static void main(String[] args){ BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml"); UserManager userManager = (UserManager)factory.getBean("UserManager"); userManager.addUser("张三", "123"); } }
相关文章推荐
- File对象的练习
- Spring整合JMS-基于activeMQ实现(二)
- JAVA中instanceof和getClass的应用
- java处理图片按比例缩放功能
- spring 注入失败
- 圣思园java se培训总结(99-)(线程)
- 【知识】Java中循环打印出<LIST>的各属性的值
- java初学一
- 【java】:java中如何获得系统时间
- 【JAVA】:java中getTime函数
- Java并发编程:Callable、Future和FutureTask
- Rxjava 学习之路
- Java生成目录
- JAVA解析JSON
- java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等
- java开发web service最简单的方式
- java开发web service最简单的方式
- 让 SpringMVC 接收多个对象的4种方法
- struts2请求过程源码分析
- 自己在网上看到的,觉得很好,收藏一下