最近学习spring 通过笔记形式加深自己对spring的理解,也希望能跟各位入门者分享和讨论. 一.下载spring 下载spring也费了不少功夫,目前还没从spring官网找到下载入口,我从下面的网站下载spring-framework-4.0.5.RELEASE. http://maven.springframework.org/release/org/springframework/spring/ 直接解压,如下: 二.导入额外的包 因为springframework里边包含的包还不全…
总览:https://www.processon.com/view/link/605b14ab5653bb2225e6b0c5 一.Spring 1.概述 1.spring框架简介 ​ 为简化企业级开发而生,有效的降低代码的耦合度,极大的方便项目的后期维护.升级和扩展. 2.优点 ​ 轻量.AOP支持.支持对各种框架的集成 3.体系结构 1.数据访问 2.Web开发 3.AOP 4.集成消息等 5.核心容器 IOC 2.IOC控制反转 ​ ioc(Inversion of Control)是一种…
博主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的人都知…
pring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean. Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源.Hibernate的SessionFactory.事务管理器等.在Spring中,Bean的是一个非常广义的概念,…
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean. Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源.Hibernate的SessionFactory.事务管理器等.在Spring中,Bean的是一个非常广义的概念…
一.IoC 容器 IoC 容器是 Spring 的核心,Spring 通过 IoC 容器来管理对象的实例化和初始化(这些对象就是 Spring Bean),以及对象从创建到销毁的整个生命周期.也就是管理对象和依赖,以及依赖的注入等等. Spring 提供 2 种不同类型的 IoC 容器:BeanFactory 和 ApplicationContext 容器. 1.1 BeanFactory 容器 BeanFactory 是一个管理 Bean 的工厂,它主要负责初始化各种 Bean, 并调用它们的…
什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 快速入门 说了那么多,手痒痒的很,马上来一发试试! 环境准备: IDEA …
这是我自己学习韩顺平老师spring视频的笔记,个人认为初学spring的韩顺平老师的讲的很好,比较通俗易懂,资源地址我已经给了,可以自己配合视频看.主要介绍了ioc和aop,这也是spring框架最核心的部分. 相关代码地址:https://github.com/weiliangchun/JavaEE/tree/master/SpringHSP 一.spring的快速入门案例 spring是什么 struts 是 web 框架(jsp/action/actionform) hibernate…
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. 使用场景 在日常的开发工作中,我们经常需要将程序部署到不同的环境,比如Dev开发环境,QA测试环境,Prod生产环境,这些环境下的一些配置肯定是不一样的,比如数据库配置,Redis配置,RabbitMQ配置. 如果每次切换发布环境,都需要修改配置重新构建的话,那对程序员来说将是噩梦,针对这种场景,Spring提供了@Profile注解来实现按照不同的环境装配不同的bean,进而实现程序只需构建一次,但可以部署到多个环境. 2. 配置profile bean 为了更好的理解,我们通过具体的代…
在上篇博客中,我们了解了什么是AOP以及在Spring中如何使用AOP,本篇博客继续深入讲解下AOP的高级用法. 1. 声明带参数的切点 假设我们有一个接口CompactDisc和它的实现类BlankDisc: package chapter04.soundsystem; /** * 光盘 */ public interface CompactDisc { void play(); void play(int songNumber); } package chapter04.soundsyste…
在使用Spring MVC开发Web应用程序时,控制器Controller的开发非常重要,虽然说视图(JSP或者是Thymeleaf)也很重要,因为它才是直接呈现给用户的,不过由于现在前端越来越重要,很多公司都开始采用前后端分离的开发模式,所以我们暂时可以将精力放在开发控制器上. 使用Spring MVC开发控制器主要使用以下7个注解: @Controller @RequestMapping @ResponseBody @RequestParam @PathVariable @RequestBo…
1. Spring中bean的多种作用域 在默认情况下,Spring应用上下文中所有的bean都是以单例(singleton)的形式创建的,即不管给定的一个bean被注入到其他bean多少次,每次所注入的都是同一个实例. Spring定义了多种作用域,可以基于这些作用域创建bean: 单例(Singleton):在整个应用中,只创建bean的一个实例. 原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例. 会话(Session):在Web应…
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…
一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFactory的功能. ApplicationContext允许以声明式方式操作容器,无须手动创建它.在Web应用启动时自动创建ApplicationContext.当然,也可以采用编程方式创建ApplicationContext. 除了提供BeanFactory所支持的全部功能外,Applicatio…
Spring框架的本质是,开发者在Spring配置文件中使用XML元素进行配置,实际驱动Spring执行相应的代码: 使用<bean.../>元素,实际启动Spring执行无参或有参构造函数,或者调用工厂方法创建Bean. 使用<property.../>元素,实际驱动Spring执行一次setter方法. 但Java程序还可能有其他类型的语句,如调用getter方法.调用普通方法.访问类或对象的Field,而Spring也为这种语句提供了对应的配置语法. 调用getter方法:使…
一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFactory的功能. ApplicationContext允许以声明式方式操作容器,无须手动创建它.在Web应用启动时自动创建ApplicationContext.当然,也可以采用编程方式创建ApplicationContext. 除了提供BeanFactory所支持的全部功能外,Applicatio…
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…