ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:22.45KB ,
资源ID:4464104      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4464104.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Spring框架学习笔记.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Spring框架学习笔记.docx

1、Spring框架学习笔记Spring_day01总结今日内容 Spring框架的概述 Spring的快速入门 Spring 工厂接口 在MyEclipse 配置Spring的xml文件提示 IoC容器装配Bean(xml配置方式) Ioc容器装配Bean(注解方式) 在web项目中集成Spring Spring 整合 junit4 测试 1.1 Spring框架学习路线:Spring的IocSpring的AOP , AspectJSpring的事务管理 , 三大框架的整合.1.2 Spring框架的概述:1.2.1 什么是Spring:Spring是分层的JavaSE/EE full-stac

2、k(一站式) 轻量级开源框架* 分层:* SUN提供的EE的三层结构:web层、业务层、数据访问层(持久层,集成层)* Struts2是web层基于MVC设计模式框架.* Hibernate是持久的一个ORM的框架.* 一站式:* Spring框架有对三层的每层解决方案:* web层:Spring MVC.* 持久层:JDBC Template * 业务层:Spring的Bean管理.1.2.2 Spring的核心:IOC:(Inverse of Control 反转控制)* 控制反转:将对象的创建权,交由Spring完成.AOP:Aspect Oriented Programming 是 面

3、向对象的功能延伸.不是替换面向对象,是用来解决OO中一些问题.IOC:控制反转.1.2.3 Spring的版本:Spring3.x和Spring4.x Spring4需要整合hibernate4.1.2.4 EJB:企业级JavaBeanEJB:SUN公司提出EE解决方案.2002 : Expert One-to-One J2EE Design and Development 2004 : Expert One-to-One J2EE Development without EJB (EE开发真正需要使用的内容.)1.2.5 Spring优点:方便解耦,简化开发* Spring就是一个大工厂,

4、可以将所有对象创建和依赖关系维护,交给Spring管理AOP编程的支持* Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能声明式事务的支持* 只需要通过配置就可以完成对事务的管理,而无需手动编程方便程序的测试* Spring对Junit4支持,可以通过注解方便的测试Spring程序方便集成各种优秀框架* Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持降低JavaEE API的使用难度* Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMai

5、l、远程调用等),都提供了封装,使这些API应用难度大大降低1.3 Spring的入门的程序:1.3.1 下载Spring的开发包:spring-framework-3.2.0.RELEASE-dist.zip -Spring开发包* docs :spring框架api和规范* libs :spring开发的jar包* schema :XML的约束文档.spring-framework-3.0.2.RELEASE-dependencies.zip -Spring开发中的依赖包1.3.2 创建web工程引入相应jar包:spring-beans-3.2.0.RELEASE.jarspring-c

6、ontext-3.2.0.RELEASE.jarspring-core-3.2.0.RELEASE.jarspring-expression-3.2.0.RELEASE.jar开发的日志记录的包:mons.logging-1.1.1.jar - 用于整合其他的日志的包(类似Hibernate中slf4j)com.springsource.org.apache.log4j-1.2.15.jar1.3.3 创建Spring的配置文件:在src下创建一个applicationContext.xml引入XML的约束:* 找到xsd-config.html.引入beans约束:1.3.4 在配置中配置类

7、:1.3.5 创建测试类: Test / Spring开发 public void demo2() / 创建一个工厂类. ApplicationContext applicationContext = new ClassPathXmlApplicationContext( applicationContext.xml); HelloService helloService = (HelloService) applicationContext.getBean(userService); helloService.sayHello(); 1.3.6 IOC和DI(*)区别?IOC:控制反转:将对

8、象的创建权,由Spring管理.DI:依赖注入:在Spring创建对象的过程中,把对象依赖的属性注入到类中.* 面向对象中对象之间的关系;* 依赖:public class Aprivate B b;* 继承:is a* 聚合:* 聚集:* 组合:1.3.7 Spring框架加载配置文件:ApplicationContext 应用上下文,加载Spring 框架配置文件加载classpath: new ClassPathXmlApplicationContext(applicationContext.xml); :加载classpath下面配置文件.加载磁盘路径: new FileSystemX

9、mlApplicationContext(applicationContext.xml); :加载磁盘下配置文件.1.3.8 BeanFactory与ApplicationContext区别?ApplicationContext类继承了BeanFactory.BeanFactory在使用到这个类的时候,getBean()方法的时候才会加载这个类.ApplicationContext类加载配置文件的时候,创建所有的类.ApplicationContext对BeanFactory提供了扩展:* 国际化处理* 事件传递* Bean自动装配* 各种不同应用层的Context实现* 早期开发使用Bean

10、Factory.1.3.9 MyEclipse配置XML提示:Window-xml catalog-add 找到schema的位置 ,将复制的路径 copy指定位置,选择schema location.1.4 IOC装配Bean:1.4.1 Spring框架Bean实例化的方式:提供了三种方式实例化Bean.* 构造方法实例化:(默认无参数)* 静态工厂实例化:* 实例工厂实例化:无参数构造方法的实例化: 静态工厂实例化: 实例工厂实例化: 1.4.2 Bean的其他配置:id和name的区别:id遵守XML约束的id的约束.id约束保证这个属性的值是唯一的,而且必须以字母开始,可以使用字母、

11、数字、连字符、下划线、句话、冒号name没有这些要求* 如果bean标签上没有配置id,那么name可以作为id.* 开发中Spring和Struts1整合的时候, /login.现在的开发中都使用id属性即可.类的作用范围:scope属性 :* singleton :单例的.(默认的值.)* prototype :多例的.* request :web开发中.创建了一个对象,将这个对象存入request范围,request.setAttribute();* session :web开发中.创建了一个对象,将这个对象存入session范围,session.setAttribute();* glo

12、balSession :一般用于Porlet应用环境.指的是分布式开发.不是porlet环境,globalSession等同于session;实际开发中主要使用singleton,prototypeBean的生命周期:配置Bean的初始化和销毁的方法:配置初始化和销毁的方法:* init-method=”setup”* destroy-method=”teardown”执行销毁的时候,必须手动关闭工厂,而且只对scope=”singleton”有效.Bean的生命周期的11个步骤:1.instantiate bean对象实例化2.populate properties 封装属性3.如果Bean

13、实现BeanNameAware 执行 setBeanName4.如果Bean实现BeanFactoryAware 或者 ApplicationContextAware 设置工厂 setBeanFactory 或者上下文对象 setApplicationContext5.如果存在类实现 BeanPostProcessor(后处理Bean) ,执行postProcessBeforeInitialization6.如果Bean实现InitializingBean 执行 afterPropertiesSet 7.调用 指定初始化方法 init8.如果存在类实现 BeanPostProcessor(处理

14、Bean) ,执行postProcessAfterInitialization9.执行业务处理10.如果Bean实现 DisposableBean 执行 destroy11.调用 指定销毁方法 customerDestroy在CustomerService类的add方法之前进行权限校验?1.4.3 Bean中属性注入:Spring支持构造方法注入和setter方法注入:构造器注入: !- - setter方法注入: !- 标签中name就是属性名称,value是普通属性的值,ref:引用其他的对象 - setter方法注入对象属性:名称空间p:注入属性:Spring2.5版本引入了名称空间p.

15、p:=xxx 引入常量值p:-ref=xxx 引用其它Bean对象引入名称空间:SpEL:属性的注入:Spring3.0提供注入属性方式:语法:#表达式 !- 1.4.4 集合属性的注入: 童童 小凤 杜宏 如花 root 123 1.4.5 加载配置文件:一种写法:ApplicationContext applicationContext = new ClassPathXmlApplicationContext(bean1.xml,”bean2.xml”);二种方法: 1.5 IOC装配Bean(注解方式)1.5.1 Spring的注解装配BeanSpring2.5 引入使用注解去定义Bea

16、nComponent 描述Spring框架中Bean Spring的框架中提供了与Component注解等效的三个注解:Repository 用于对DAO实现类进行标注Service 用于对Service实现类进行标注Controller 用于对Controller实现类进行标注* 三个注解为了后续版本进行增强的.1.5.2 Bean的属性注入:普通属性;Value(value=itcast) private String info;对象属性:Autowired:自动装配默认使用类型注入.Autowired Qualifier(userDao) - 按名称进行注入.Autowired Qual

17、ifier(userDao) private UserDao userDao;等价于Resource(name=userDao) private UserDao userDao;1.5.3 Bean其他的属性的配置:配置Bean初始化方法和销毁方法:* init-method 和 destroy-method.PostConstruct 初始化PreDestroy 销毁配置Bean的作用范围:Scope1.5.4 Spring3.0提供使用Java类定义Bean信息的方法Configurationpublic class BeanConfig Bean(name=car) public Car

18、 showCar() Car car = new Car(); car.setName(长安); car.setPrice(40000d); return car; Bean(name=product) public Product initProduct() Product product = new Product(); product.setName(空调); product.setPrice(3000d); return product; 1.5.5 实际开发中使用XML还是注解?XML:* bean管理注解;* 注入属性的时候比较方便.两种方式结合;一般使用XML注册Bean,使用注

19、解进行属性的注入.sAutowired Qualifier(orderDao) private OrderDao orderDao;1.6 Spring整合web开发:正常整合Servlet和Spring没有问题的但是每次执行Servlet的时候加载Spring配置,加载Spring环境.* 解决办法:在Servlet的init方法中加载Spring配置文件?* 当前这个Servlet可以使用,但是其他的Servlet的用不了了!* 将加载的信息内容放到ServletContext中.ServletContext对象时全局的对象.服务器启动的时候创建的.在创建ServletContext的时候

20、就加载Spring的环境.* ServletContextListener:用于监听ServletContext对象的创建和销毁的.导入;spring-web-3.2.0.RELEASE.jar在web.xml中配置: org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:applicationContext.xml 修改程序的代码:WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext();WebApplicationContext applicationContext = (WebApplicationContext) getServ

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1