博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring的优势在哪里?怎么系统的学习Spring? 一.什么是Spring? Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发. 那有人就会问了,Spring是如何简化开发的? 在传统开发中,一个应用是需…
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审视下目前自己所掌握的Java基础可能后续会有很多笔记去记录我温习Java的过程.但这个是我Java的开端,希望我自己能够坚持下去,一天一篇,每天记录我的成长.成为Java架构师是我的梦想,我知道这个可能性比较低.不管怎么样我都希望我走这条路不会后悔. 为什么学习Spring? 学习过Java的人都知…
一.IoC 容器 IoC 容器是 Spring 的核心,Spring 通过 IoC 容器来管理对象的实例化和初始化(这些对象就是 Spring Bean),以及对象从创建到销毁的整个生命周期.也就是管理对象和依赖,以及依赖的注入等等. Spring 提供 2 种不同类型的 IoC 容器:BeanFactory 和 ApplicationContext 容器. 1.1 BeanFactory 容器 BeanFactory 是一个管理 Bean 的工厂,它主要负责初始化各种 Bean, 并调用它们的…
概述   Spring是一个java应用最广的开源框架,它是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情…
Spring MVC通常的执行流程是:当一个Web请求被发送给Spring MVC Application,Dispatcher Servlet接收到这个请求,通过HandlerMapping找到Controller,将这个请求委派给Controller的某个Handler Method处理,这个Handler Method处理完这个请求,返回一个ModelAndView给Dispatcher Servlet,Dispatcher Servlet利用View Name,请求View Resolv…
 本节主要内容:    1. 给MessageBean注入参数值    2. 测试Spring自动组件扫描方式    3. 如何控制ExampleBean实例化方式    4. 使用注解方式重构JdbcDataSource, UserDAO, UserService 本文作者:souvc 本文出处:http://www.cnblogs.com/liuhongfeng/p/4582664.html 1 给MessageBean注入参数值 1.1 问题 Spring可以通过配置文件为bean注入多种…
本节主要内容:       1.实例化Spring容器示例    2.利用Spring容器创建JavaBean对象    3.如何控制Bean实例化    4.利用Spring实现bean属性setter方式注入    5.利用构造器参数实现依赖属性的注入    6.利用Spring的自动装配功能实现自动属性注入 本文作者:souvc 本文出处:http://www.cnblogs.com/liuhongfeng/p/4581283.html 1 实例化Spring容器示例 1.1 问题 使用A…
Spring框架的本质是,开发者在Spring配置文件中使用XML元素进行配置,实际驱动Spring执行相应的代码: 使用<bean.../>元素,实际启动Spring执行无参或有参构造函数,或者调用工厂方法创建Bean. 使用<property.../>元素,实际驱动Spring执行一次setter方法. 但Java程序还可能有其他类型的语句,如调用getter方法.调用普通方法.访问类或对象的Field,而Spring也为这种语句提供了对应的配置语法. 调用getter方法:使…
1:IntelliJ新建Maven工程 2:pom文件加入Spring依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma…
1.Spring中的数据库支持 把具有相同功能的代码模板抽取到一个工具类中.2.关于jdbc template的应用 jdbcTemplate模板操作类,把访问jdbc的模板抽取到template中,使用模板类,可以不用管有关连接管理,关闭等细节,只关注核心业务代码,外围事情交给 Spring的模板去处理.3.Spring框架关于对数据库的支持A.统一的事务平台trasaction Management B.提供Dao support,support封装了有关template.public cl…
项目使用maven管理,pom.xml和项目组织如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.…
知识点回顾:一.IOC容器---DI依赖注入:setter注入(属性注入)/构造子注入/字段注入(注解 )/接口注入 out Spring IOC容器的使用: A.完全使用XML文件来配置容器所要管理的业务组件及相互依赖关系 .<bean><property></bean> B.使用xml来配置Bean,用注解(@Autowired @Resource)来配置依赖.<context:annotation-config/> C.完全使用注解 <conte…
.xml使用注解 xml 用来定义bean的信息,注解用来配置依赖信息 ) 在配置文件中配置bean )在javaBean中用注解来指定依赖注入 )在配置文件中开启注解扫描 @Resource标签 java标签的资源注解 @Autowired(Spring自定义的注解),注解可以加在setter注入中,也可以加在field(field注入) @Resource 按名称注入,找到名称相同,则直接注入,找不到名称相同的则找类型 @Atutowired 按类型注入,会先按类型找,找不到再找名称,req…
一.Spring Ioc容器详解(1) 20131105 1.一切都是Bean Bean可是一个字符串或者是数字,一般是一些业务组件. 粒度一般比较粗. 2.Bean的名称 xml配置文件中,id属性可以检测是否唯一.name是可以重复的. 一个bean的实现可以有多个名字,别名 <alias name="p3" alias="p4"/> 3.Spring 容器的初始化过程(不同的实现有不同的过程) A.根据加载的配置文件信息注解Bean的信息(Bean…
WebApplicationContextUtils 一.Spring整合web之前 案例:给部门列表添加新部门 import org.apache.log4j.Logger; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import javax.servlet.annotation…
1.采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数.  (1)Spring配置文件: <!-- 引入jdbc配置文件 --> <context:property-placeholder location="jdbc.properties"/> <!--创建jdbc数据源 --> <bean id="dataSource" class=&qu…
http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 1.依赖的jar包,maven引入依赖: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.3</version>…
一.知识点回顾 1.Mybatis环境搭建(DAO层的实现)(使用maven项目管理工具) 需要引入的依赖包: <!-- 单元测试junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.3</version> <scope>test</scope> </dep…
一.如何开发一个打印机 1.可灵活配置使用彩色魔盒或灰色魔盒 2.可灵活配置打印页面的大小 二.打印机功能的实现依赖于魔盒和纸张 三.步骤: 1.定义墨盒和纸张的接口标准 package cn.printer; /** * 墨盒接口 * @author TengYiCheng * */ public interface Ink { /** * 定义打印采用的颜色的方法 * @param r * @param g * @param b * @return 返回打印采用的颜色 */ public S…
一.Spring的优点 企业及系统: 1.大规模:用户数量多.数据规模大.功能众多 2.性能和安全要求高 3.业务复杂 4.灵活应变 Java技术:高入侵式依赖EJB技术框架-->Spring框架 优点: 轻量级框架,Java EE的春天 “一站式”的企业应用开发框架 ***** 1.低侵入式设计 2.独立于各种应用服务器 3.依赖注入特性将组件关系透明化,降低了耦合度 4.面向切面编程特性允许将通用任务进行集中式处理 5.与第三方框架的良好整合 二.Spring的设计理念 使现有技术更加易用,…
一.<Bean>的属性及子元素 在1.1中我们对<Bean>有了初步的认识,了解了一些基本用法. 现在我们进一步理解<Bean>属性及子元素. 我们先来看下<Bena>的属性及子元素: 上面对<Bean>做了基本介绍,看文字可能不太理解各个属性,我们结合后续的内容来使用并理解<Bean>属性及其子元素.  二.Bean的实例化 2.1构造器实例化 构造器实例化就是通过构造对Bean进行实例化. 先创建一个Person Person.j…
1.准备工作 下载Spring:http://repo.spring.io/libs-release-local/org/springframework/spring/    选择需要下载的版本   选择dist.zip结尾的下载即可. 下载完后将其解压,进入libs文件夹,libs文件夹下有很多jar文件. 目前阶段只需要将 spring-core-x.x.x.RELEASE.jar .spring-beans-x.x.x.RELEASE.jar spring-context-x.x.x.RE…
项目目录树: 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 <?xml version="1.0" encoding="UTF-8"?> <be…
jar包下载地址:http://repo.spring.io/release/org/springframework/spring/ spring特点: 1.非侵入性 spring框架的API不会在业务逻辑上出现,及业务逻辑是POJO 2.容器 spring作为一个容器,可以管理对象的生周期,对象与对象之间的依赖关系 3.IOC 控制反转(Inversion of Control),即创建被调用者的实例不是由调用者完成,而是spring容器完成,并注入调用者 4.AOP 面向切面,是一种编程思想…
实现原理 采用XML方式配置Bean的时候,Bean的定义和实现分离的,采用注解的方式可以将两者合为一体,Bean的定义信息直接以注解形式定义在实现类中,从而实现了零配置. 控制反转是一种通过描述(XML/注解),并通过第三方去生产或获取特定对象的方式,Spring中实现控制反转的是IoC容器,其实现方法为依赖注入(Dependency Injection,DI). 创建一个普通Maven项目 导入Maven依赖(见前章) 编写一个实体类 package cn.iris.pojo; /** *…
1.       注入类型 a)       Spring_0300_IOC_Injection_Type b)       setter(重要) c)       构造方法(可以忘记) d)      接口注入(可以忘记) 以下是setter 注入 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/bean…
我们需要使用@Component注解来定义一个配置类,在配置类中我们定义Bean: package com.moonlit.myspring; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MoonlitConfig { @Bean public Weapon h…
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那样灵活和松耦合的Web应用程序. Spring MVC起步 跟踪Spring MVC的请求…
Spring学习笔记(一) 这是一个沉淀的过程,大概第一次接触Spring是在去年的这个时候,当初在实训,初次接触Java web,直接学习SSM框架(当是Servlet都没有学),于是,养成了一个很不好的学习习惯,就是"照猫画虎".别人做什么,照着样子就是了,没有任何的思考,这样的学习习惯肯定不会走太远.现在我产生很多疑惑,这是什么?为什么这么做?如何做的更好?因此这次笔记的主题就是<这是什么?> 1. spring框架概述 1.1 什么是spring Spring是一个…