bean

spring和ibaits整合详解

泪湿孤枕 提交于 2020-02-29 12:42:53
ibatis和Spring整合的详细例子,数据库用的是mysql,开发环境是Eclipse3.2: 1.首先把用到的包导入进来,此例用的是spring-framework-1.2.7,iBATIS_DBL-2.1.7.597,mysql的数 据库连接包用的是mysql-connector-java-5.0.3-bin.jar. 2.建POJO类,在此我们用的是一个Student类. package cn.itcast; public class Student implements java.io.Serializable { private Integer id; private String firstname; private String lastname; public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLastname() { return lastname; }

Spring面试题部分总结【慨念】

眉间皱痕 提交于 2020-02-29 11:25:54
什么是Spring? spring是一个企业级应用的开源开发框架,主要用来开发java应用,spring框架目标就是简化企业级应用开发。 Spring用到了那些设计模式? spring里面用到了大量的设计模式,这里举例比较有代表性的: 代理模式:在aop中使用比较多 单例模式:在spring配置文件定义的bean默认为单例模式 模板模式:用来解决代码重复问题 工厂模式:BeanFactory用来创建对象的实例。 使用Spring框架有什么好处? 1.轻量:spring是轻量的,基本版本大约2MB 2.控制反转;spring通过这个实现了松散耦合,对象给他们依赖,而不是创建对象 3.spring支持面向切面的编程,并且把业务逻辑和系统服务分开 4.spring容器包含管理应用中对象的声生命周期和配置 什么是Spring IOC容器? spring IOC 负责创建对象,管理对象(通过依赖注入),装配对象,配置对象,并管理对象的生命周期 IOC的优点是什么? IOC 或 依赖注入把应用的代码量降到最低。它使应用容易测试,最小的代价和最小的侵入性使松散耦合得以实现 ApplicationContext通常实现的是什么? ClassPathXmlApplicationContext :此容器从一个xml文件中加载beans的定义。xml bean 配置文件的全路径名必须提供给他的构造函数。

SSH三大框架的工作原理及流程

帅比萌擦擦* 提交于 2020-02-29 09:06:35
Hibernate工作原理及为什么要用? 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息 3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Transation 6.persistent operate持久化操作 7.session.getTransaction().commit();//提交事务 8.关闭Session 9.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库

maven下整合spring和quartz

青春壹個敷衍的年華 提交于 2020-02-29 07:59:34
最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现。对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考。 我使用的是Maven来管理项目,需要的Jar包我给大家贴出来。 quartz-1.8.5.jar commons-logging.jar spring-core-3.0.5.RELEASE.jar spring-beans-3.0.5.RELEASE.jar spring-context-3.0.5.RELEASE.jar spring-context-support-3.0.5.RELEASE.jar spring-asm-3.0.5.RELEASE.jar spring-expression-3.0.5.RELEASE.jar spring.transaction-3.0.5.RELEASE.jar spring-web-3.0.5.RELEASE.jar Maven的pom.xml的配置: Xml代码 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:

Spring Framework 组件注册 之 FactoryBean

陌路散爱 提交于 2020-02-29 06:41:25
Spring Framework 组件注册 之 FactoryBean 前言 前两篇文章介绍了如何使用 @Component , @Import 注解来向spring容器中注册组件(javaBean),本文将介绍通过 FactoryBean 接口继续向spring容器中注册组件。可能第一印象是spring中 BeanFactory 接口,但是这里确实说的是 FactoryBean 。 推荐阅读 Spring Framework 组件注册 之 @Import Spring Framework 组件注册 之 @Component FactoryBean 与 BeanFactory 根据接口名称,我们也可以简单看出两者的区别 FactoryBean:它是spring中的一个Bean,只不过它是一个特殊的Bean(工厂Bean),我们可以通过它来自定义生产需要的普通JavaBean BeanFactory:它是spring的Bean工厂,是spring最为重要的接口之一,spring通过此接口获取,管理容器中的各个Bean 接下来将进入本文正题,如何通过 FactoryBean 接口向spring容器中注册组件 FactoryBean简单使用 正如前面说的,FactoryBean也是spring中的一个Bean,但是它又是一个特殊的Bean,它的存在是为了生产其他的JavaBean

Spring扩展点之FactoryBean接口

南楼画角 提交于 2020-02-29 06:38:37
前言 首先看一下接口定义 public interface FactoryBean<T> { /** * 返回对象实例 */ @Nullable T getObject() throws Exception; /** * 返回对象类型, */ @Nullable Class<?> getObjectType(); /** * 该工厂管理的对象是否为单例? */ default boolean isSingleton() { return true; } } 由接口定义可以看出来,实现这个接口的bean不是主要功能, getObject() 创建的对象才是重点。那么在这我们就可以猜到了,可以是使用 FactoryBean 创建一些实例化过程比较复杂的bean FactoryBean 的注册 FactoryBean 的处理逻辑在 AbstractBeanFactory.doGetBean 方法内 protected <T> T doGetBean( final String name, final Class<T> requiredType, final Object[] args, boolean typeCheckOnly) throws BeansException { //获取bean名称 final String beanName = transformedBeanName

Spring 源码分析(八)--容器的功能扩展

北战南征 提交于 2020-02-29 05:39:11
经过前面几篇的分析,相信大家对Spring中容器功能有了简单的了解,在前面的章节中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析。但是,Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ApplicationContext和BeanFactory两者都是用于加载Bean的,但是相比之下,ApplicationContext提供了更多的扩展功能,ApplicationContext包含了BeanFactory的所有功能。绝大多数典型的企业应用和系统,ApplicationContext就是你需要使用的。 首先看看使用这两个不同的类去加载配置文件在写法上的不同。 使用BeanFactory方式加载XML BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml")); 使用ApplicationContext方式加载XML ApplicationContext bf = new ClassPathXmlApplicationContext("beanFactoryTest.xml")); 一:整体功能分析

spring IOC 核心流程分析

馋奶兔 提交于 2020-02-29 03:18:22
1、IOC 核心接口 IOC 中最主要的有两个接口,一个是BeanFactory ,一个是ApplicationContext 。 BeanFactory 作为IOC容器的顶层接口,提供了对容器bean 的一些基础操作如getBean(xxx),containsBean(xxx),isSingleton(String name),getType(String name)。 ApplicationContext 继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持、资源访问(如URL和文件)、事件传播等方面进行了良好的支持。 2、IOC 核心流程 AbstractApplicationContext.refresh() @Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRefresh(); /* * 1、刷新子类BeanFactory * 2、创建Beanfactory实例 * beanFactory = new

spring beanFactory

半腔热情 提交于 2020-02-29 03:13:41
1.什么叫beanfactory? spring使用BeanFactory来实例化、配置和管理对象,但是它只是一个接口,里面有一个getBean()方法。我们一般都不直接用BeanFactory,而是用它的实现类ApplicationContext,这个类会自动解析我们配置的applicationContext.xml,然后根据我们配置的bean来new对象,将new好的对象放进一个Map中,键就是我们bean的id,值就是new的对象。 原文参考http://www.cnblogs.com/liuling/archive/2013/04/14/BeanFactory.html 2.什么叫ApplicationContext? 答:实用的Bean工厂ApplicationContext,继承BeanFactory接口 在ApplicationContext接口的众多实现类中,有3个是我们经常用到的(见表1-1),并且使用这3个实现类也基本能满足我们Java EE应用开发中的绝大部分需求。 表1-1 ApplicationContext接口的常用实现类介绍 类 名 称 功 能 描 述 ClassPathXmlApplicationContext 从类路径ClassPath中寻找指定的XML配置文件,找到并装载 完成ApplicationContext的实例化工作。例如: /

阅读spring源码

試著忘記壹切 提交于 2020-02-29 03:13:22
读Spring源码之前,你要先清楚,为什么你要用Spring... Spring最基本的功能是做为管理bean的容器,所以我以为应该先从org.springframework.context包了解咯,包括org.springframework.web.context; 然后是org.springframework.beans org.springframework.aop 你看那个从core开始看就可以了 从ApplicationContext Spring中文手册是必须的~~ 1.阅读源码的入口在哪里? 2.入门前必备知识了解:IOC和AOP 一、我们从哪里开始 1.准备工作:在官网上下载了Spring源代码之后,导入Eclipse,以方便查询。 2.打开我们使用Spring的项目工程,找到Web.xml这个网站系统配置文件,在其中找到Spring的初始化信息: [html] view plain copy < listener > < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class > </ listener > 由配置信息可知,我们开始的入口就这里ContextLoaderListener这个监听器。 在源代码中我们找到了这个类,它的定义是: