SSH进阶(4)——Spring框架入门及环境搭建
来源:互联网 发布:数据分析建模方法 编辑:程序博客网 时间:2024/06/09 17:01
上一篇我简单的介绍了一下Struts2的工作原理,本博来介绍一下Spring框架入门及环境搭建。
【Spring概念】
Spring内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。
Spring还有一个核心就是AOP这个就是面向切面编程,可以为了某一类对象进行监控(也就是在调用这类对象的具体方法的前后去调用你想调用的指定模块),这样就可以达到对一个模块扩充的功能。
Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的,简单的说,不用在代码里写死new某个对象,而是全部在配置文件中进行了配置。Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。
【Spring三种注入方法】
1.setter
配置文件:
<!-- 用户模块的Action --> <bean id="userAction" class="cn.itcast.shop.user.action.UserAction" scope="prototype"> <!-- 注入Service --> <property name="userService" ref="userService"/> </bean>
Action中:
private UserService userService; public void setUserService(UserService userService) { this.userService = userService; }
2.interface
接口注入,之前做的机房收费系统中就是利用了接口注入ClassA在编译期即依赖于InterfaceB的实现。我们常常借助接口来将调用者与实现者分离。
3.constructor
添加构造方法:
public class Soldier { private String name; public Soldier(String name) { this.name = name; } public String getName() { return name; } }
配置文件:
<bean id="s1" class="com.hb.Soldier"><constructor-arg value="RANBO"></constructor-arg></bean>
【Spring框架搭建】
1.Jar包的引入
Spring3.2 开发最基本jar包
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
AOP开发
spring-aop-3.2.0.RELEASE.jar
spring-aspects-3.2.0.RELEASE.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
Spring Jdbc开发
spring-jdbc-3.2.0.RELEASE.jar
spring-tx-3.2.0.RELEASE.jar
Spring事务管理
spring-tx-3.2.0.RELEASE.jar
Spring整合其他ORM框架
spring-orm-3.2.0.RELEASE.jar
Spring在web中使用
spring-web-3.2.0.RELEASE.jar
Spring整合Junit测试
spring-test-3.2.0.RELEASE.jar
2.配置文件
web.xml
<!-- 配置Spring的核心监听器 --><listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value></context-param>
3.applicationContext.xml
<!-- 配置连接池: --> <!-- 引入外部属性文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置C3P0连接池: --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.user}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- 事务管理: --> <!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!-- 开启注解事务 --> <tx:annotation-driven transaction-manager="transactionManager"/><!-- Action的配置 ===========================--> <!-- 首页访问的Action --> <bean id="indexAction" class="cn.itcast.shop.index.action.IndexAction" scope="prototype"> <property name="categoryService" ref="categoryService"/> <property name="productService" ref="productService"/> </bean> <!-- Service的配置 ===========================--> <bean id="categoryService" class="cn.itcast.shop.category.service.CategoryService"> <property name="categoryDao" ref="categoryDao"/> </bean> <bean id="productService" class="cn.itcast.shop.product.service.ProductService"> <property name="productDao" ref="productDao"/> </bean> <!-- Dao的配置 ===========================--> <bean id="categoryDao" class="cn.itcast.shop.category.dao.CategoryDao"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="productDao" class="cn.itcast.shop.product.dao.ProductDao"> <property name="sessionFactory" ref="sessionFactory"/> </bean>
4.log4j.properties
jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql:///shopjdbc.user = rootjdbc.password =123
【Bean管理】
从文章的第一个图可以看出Spring框架的组成结构中核心的组件只有三个:Core,Context,Beans。他们构建起了整个Spring的骨架。其中Bean是Spring的主角,Spring中提供了多种容器实现,并分为两大类:BeanFactory和ApplicationContext。
1.Beanfactory提供了基础的依赖注入支持,管理对象的加载和生成,维护Bean对象与对象之间的依赖关系,负责Bean的生命周期。
2.ApplicationContext(应用上下文)建立在Bean工厂基础之上,提供了系统架构服务。表面上,它和BeanFactory都是载入Bean定义信息,根据需要分发Bean。提供载入文件资源的通用方法,如载入图片。向注册为监听器的Bean发送事件。
【总结】
Spring的作用就相当于将struts和hibernate连接起来,是将两个没有关系的框架的特性,方法,action都放在spring的配置文件中使他们建立关系。Spring就相当于一个指挥控制平台,一切类的创建都是由Beanfactory来管理的,这样的各层分开,有利于维护,一旦出现了调用问题,就只修改配置文件就OK了,不需要在去代码中调试谁和谁之间的调用关系了。
2 0
- SSH进阶(4)——Spring框架入门及环境搭建
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- SSH进阶(3)——Struts2原理介绍及环境搭建
- 1. 笔记JAVA框架学习——Spring入门环境搭建及helloworld
- SSH进阶(0)——SSH搭建开发环境遇到的问题
- 【SSH快速进阶】——Hibernate环境搭建
- [SSH框架初学笔记]ssh环境搭建及配置
- ssh环境配置——搭建spring环境
- ssh框架环境搭建
- SSH框架环境搭建
- SSH框架环境搭建
- SSH框架环境搭建
- ssh框架环境搭建
- 【OA】SSH进阶(6)——SSH框架整合
- 监听listivew滚动距离最优方案
- C++指针函数的定义
- 使用roslaunch调用串口程序时需要的异常退出问题
- 教你制作一个OS X 10.9 Mavericks 安装U盘
- Activity在异常情况下的生命周期——Android开发艺术探索笔记
- SSH进阶(4)——Spring框架入门及环境搭建
- Android ADT安装技巧其常见错误处理
- 操作员计算机绑定
- hdu 2092 整数解
- JSP有哪些内置对象和动作?它们的作用分别是什么?
- 【图书分配】
- android不让程序显示在最近程序列表中
- strcpy 溢出问题
- pin导致路由器死掉的解决方法