问题容易出现在多个人合作的项目中,定义bean的名字的时候发生重复. 可以配置当bean定义重复的时候抛出异常,结束程序,强制提示更改重复的bean.…
很多时候我们把需要随时调整的参数需要放在配置文件中单独进行读取,这就是软编码,相对于硬编码,软编码可以避免频繁修改类文件,频繁编译,必要时只需要用文本编辑器打开配置文件更改参数就行.但没有使用框架之前,我们读取配置文件的方式是先创建配置文件类,再加载本地配置文件,最后读取参数 //配置文件类 Properties properties = new Properties(); //加载配置文件 properties.load(new FileInputStream("src/jdbc.proper…
1.Spring框架中标签的配置 1. id属性和name属性的区别 * id -- Bean起个名字,在约束中采用ID的约束,唯一 * 取值要求:必须以字母开始,可以使用字母.数字.连字符.下划线.句话.冒号 id:不能出现特殊字符 * name -- Bean起个名字,没有采用ID的约束(基本不在使用) * 取值要求:name:出现特殊字符.如果<bean>没有id的话 , name可以当做id使用 * Spring框架在整合Struts1的框架的时候,Struts1的框架的访问路径是以/…
在Spring前几节的学习中我们都使用了一个配置文件,就像struts2中可以包含其他的配置文件,我们能不能使用多个配置文件呢(在工程比庞大,配置比较多的时候)? Spring多配置文件分为两种: 平等关系的配置文件 包含子配置文件 (一)平等关系的配置文件 我们可以创建两个配置文件在包下 我们可以同时使用这两个配置文件在我们的应用当中,使用的方式由很多种,这里我举出比较常用的几种: ① //Spring-*.xml只要配置文件的前缀相同我们就可以这样使用 String resource = "…
1 使用Spring托管Struts Action 该种方式就是将Struts Action也视为一种Bean交给Spring来进行托管,使用时Struts的配置文件中配置的Action的classs属性不再是具体Action的实现类,而是在Spring配置文件中配置的BeanID,也就是说具体是Action实现类是在Spring的配置文件中进行配置的,Struts的配置文件中的Class属性只是Spring文件中Bean的ID.Struts配置文件如下示例: <action name="…
1         Spring框架 1.1           Spring的基本概念 是一个轻量级的框架,提供基础的开发包,包括消息.web通讯.数据库.大数据.授权.手机应用.session管理等. Maven Maven是用来管理项目的依赖.编译.文档等信息.以前使用第三方类库需要复制类库到指定的目录下,可能此jar包还要依赖于其他的jar包,需要不断的去下载复制.Maven通过一个配置文件配置类库的groupid组件唯一标识,artifactId项目的唯一标识,version项目的版本…
转载自http://developer.51cto.com/art/201006/205212_all.htm Spring作为现在最优秀的框架之一,已被广泛的使用,51CTO也曾经针对Spring框架中的JDBC应用做过报道.本文将从另外一个视角试图剖析出Spring框架的作者设计Spring框架的骨骼架构的设计理念. AD: Spring作为现在最优秀的框架之一,已被广泛的使用,51CTO也曾经针对Spring框架中的JDBC应用做过报道.本文将从另外一个视角试图剖析出Spring框架的作者…
上一节我们说过Spring对DAO的两个支持分为两个知识点,一个是jdbc模板,另一个是事务管理. 事务是数据库中的概念,但是在一般情况下我们需要将事务提到业务层次,这样能够使得业务具有事务的特性,来管理业务. 例如:在银行的转账系统中,张三转账给李四,需要完成从张三的账户上扣取指定金额并加到李四的账户上,这样一个过程需要具有原子性,即要成功都成功,要失败都失败.转账的过程即两个对账户更新,需要将事务提升到业务层次,使得两个操作具有原子性! 对以上的实现,Spring的API中有两个常用的接口我…
1 写在前面 Spring框架是在大一的时候学习的,但是经过几个项目下来发现自己只不过会用某些常用的东西,对于Spring家族,虽然现在大都使用Spring Boot开发,但是我发现Spring框架的思想自己并未领会到,也导致了后来的学习有不少疑惑,因此在大二的时候我决定重新梳理一下这些东西,我相信这比学习新的东西更加值得. 温故而知新可以为师矣 ------------<论语> 2 Spring的架构 Spring由20多个模块组成,它们可以分为数据访问/集成.Web.面向切面编程.应用服务…
一.Spring定义 Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EE full-stack(一栈式) 轻量级开源框架. Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架. 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替…
Spring框架 课程笔记 第1章  Spring概述 1.1 Spring概述 1)        Spring是一个开源框架 2)        Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能.同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁. 3)        Spring是一个IOC(DI)和AOP容器框架. 4)        Spring的优良特性 ① 非侵入式:基于S…
在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库.我们以往在spring和hibernate框架中总是配置一个数据源,因而sessionFactory的dataSource属性总是指向这个数据源并且恒定不变,所有DAO在使用sessionFactory的时候都是通过这个数据源访问数据库.但是现在,由于项目的需要,我们的DAO在访问sessionFactory的时候都不得不在多个数据源中不断切换,问题就出现了:如何让session…
文件夹      [SSH进阶之路]一步步重构容器实现Spring框架--从一个简单的容器開始(八)      [SSH进阶之路]一步步重构容器实现Spring框架--解决容器对组件的"侵入式"管理的两种方案--主动查找和控制反转(九)      [SSH进阶之路]一步步重构容器实现Spring框架--配置文件+反射实现IoC容器(十)      [SSH进阶之路]一步步重构容器实现Spring框架--彻底封装,实现简单灵活的Spring框架(十一) 博文[SSH进阶之路]一步步重构容…
纵观现在互联网行业,java的地位依然不可动摇,因为java拥有着的众多开发人员和适用性广,技术与解决技术大部分开源等特点,因此java依然是众多众多开发行业作为互联网开发的首选,而说到开发,我们就不等不说一下近年来最火爆的那些开源框架! 首先我们来看一下那些曾经以及现在仍然火爆的框架有哪些: 注:因为今天主要目的是讲解Spring,所以其他框架就先不详细讲解了,我改天会单开个框架专栏给大家讲解 传统行业: SSH(Spring,Struts2,Hibernate) 作为传统行业的经典,可以说S…
转载:http://www.jb51.net/article/75460.htm 1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现: class UserManagerImpl implements UserManager { private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } ... } 配置文件: <bean id=&qu…
1.Bean 的配置 Spring可以看做一个大型工厂,用于生产和管理Spring容器中的Bean,Spring框架支持XML和Properties两种格式的配置文件,在实际开发中常用XML格式的配置文件.XML配置文件的跟标签是<beans>,<beans>中包含了多个<bean>子元素,每个<bean>元素定义一个Bean,并描述Bean如何被装配到Spring容器中.<bean>元素的常用属性及其子元素说明如下: id属性:Bean在Bea…
1.Spring IOC的基本概念 IOC(Inverse of Control)反转控制的概念,就是将原本在程序中手动创建对象的控制权,交由Spring框架管理.当某个Java对象(调用者)需要调用另一个Java对象(被调用者)时,在传统编程模式下,调用者通常会采用“new 被调用者”的代码方式来创建对象.这种方式会增加调用者与被调用者之间的耦合性,不利于后期代码的升级与维护.当Spring框架出现后,对象的实例不再由调用者来创建,而是由Spring容器来创建.Spring容器会负责控制程序之…
1. Spring 框架的事务管理相关的类和API PlateformTransactionManager 接口: 平台事务管理器(真正管理事务的类); TransactionDefinition 接口: 事务定义信息(事务的隔离级别,传播行为,超时,只读等); TransactionStatus 接口: 事务的状态; 平台事务管理器真正管理事务对象,根据事务定义信息(TransactionDefinition)进行事务管理,在管理事务 中产生的一些状态记录到TransactionStatus中…
简单模拟Spring 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 前言 上次已经学习了Java的设计模式,接下来就先来学习一下如何手写模拟简易的Spring,通过动手实践,才会更好的了解spring底层原理,今天就简单的模拟Spring容器是如何创建,bean又是如何注入的. 来看一下本次案例的spring类图 Spring容器 模拟spring,首先就是需要一个容器,是Spring…
Spring的入门的程序: 1.1.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.1.2 创建web工程引入相应jar包: spring-bea…
AspectJ实现AOP 上一篇文章Spring框架(4)---AOP讲解铺垫,讲了一些基础AOP理解性的东西,那么这篇文章真正开始讲解AOP 通过AspectJ实现AOP要比普通的实现Aop要方便的多,所以第五篇文章有关SpringAOP我暂且不写,后面整理好了再补充上; 那我们首先还是讲一些有的没的的东西: 什么是Spring的AspectJ的AOP       AspectJ是一个面向切面的框架,它扩展了Java语言.AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Jav…
Spring Boot配置文件有两种格式: application.properties 和 application.yml.两种配置文件只需要使用一个. 这两种配置文件的语法有些区别,如下 1. application.properties server.port = 8080         -- tomcat 端口 server.context-path = /webName    -- URL路径 2. application.yml server: port: 8080        …
1.Spring IOC IOC技术: 控制反转,也叫(依赖注入) 控制反转:Bean的生命周期不受你控制,而是交给Spring容器管理. Spring框架如何利用IOC ?:        实现了控制反转,Spring容器能帮我们实例化对象,但是并没有做到DI(依赖注入). 作用:        (1) 构建Bean        (2) Bean之间有依赖关系的话,可以自动帮我们注入    优势:        解耦:低耦合,实现面向接口的编程思想 2.Spring AOP 动态代理设计模式…
除了使用 XML 和 Annotation 的方式装配 Bean 以外,还有一种常用的装配方式——自动装配.自动装配就是指 Spring 容器可以自动装配(autowire)相互协作的 Bean 之间的关联关系,将一个 Bean 注入其他 Bean 的 Property 中. 要使用自动装配,就需要配置 <bean> 元素的 autowire 属性.autowire 属性有五个值,具体如下: byName 根据 Property 的 name 自动装配,如果一个 Bean 的 name 和另一…
作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦.这一切都离不开 Spring 配置文件中使用的 <bean> 元素. Spring 容器可以被看作一个大工厂,而 Spring 容器中的 Bean 就相当于该工厂的产品.如果希望这个大工厂能够生产和管理 Bean,这时则需要告诉容器需要哪些 Bean,以及需要以何种方式将这些 Bean 装配到一起. Spri…
Spring框架基础知识 1.Spring 框架作用 主要解决了创建对象和管理对象的问题. 自动装配机制 2.Spring 框架 (Spring容器,JavaBean容器,Bean容器,Spring容器,IOC容器) 容器: 只要有需要都可以找它去拿,叫容器 3.依赖关系: 类与类之间的是有依赖关系的(例如:在类B里边调用类A的方法) ; 4.异常NPE Null Point Exeception) 5.Spring框架依赖项 spring-context (pom.xml加载依赖项) 6.Sp…
下面个整理一下hibernate和Spring框架的结合. 首先是引入hibernate框架的包.Spring框架的包.数据库驱动包. User.java文件 package cn.shop.bean; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="…
Spring概念 spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用) spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码来实现: ioc:控制反转,比如:有一个类,在类中有个方法(非静态的方法),要调用类中的这个方法,则需要创建类的对象,使用对象调用方法.创建类对象的过程,需要new出来对象:而ioc则是将对象的创建不是通过new方式实现,而是交给spring配置来创建对象(即,将对象的创建交给spring来管理): spring是一站式框架 spring…
1. id属性和name属性的区别 * id -- Bean起个名字,在约束中采用ID的约束,唯一 * 取值要求:必须以字母开始,可以使用字母.数字.连字符.下划线.句话.冒号 id:不能出现特殊字符 * name -- Bean起个名字,没有采用ID的约束(了解)现在不使用name了,因为struts1已经不使用了 * 取值要求:name:出现特殊字符.如果<bean>没有id的话 , name可以当做id使用 * Spring框架在整合Struts1的框架的时候,Struts1的框架的访问…