`
阅读更多

请确保配置bean.xml位于工作路径之下,注意工作路径并不等同于CLASSPATH ,eclipse
的默认工作路径为项目根路径,也就是.project文件所在的目录


Type1 接口注入
 ((Object)(class.forName("").newInstance())).doSomething();
Type2 设值注入
 
Type3 构造子注入
 PicoContainer(另一种实现了依赖注入模式的轻量级容器)首先实现了Type3类型的依赖注入模式。

Spring Bean封装机制
 Spring 大量引入了Java 的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactory
 核心中的核心为BeanWrapper和BeanFactory类
BeanWrapper:
 Object obj = Class.forName().newInstance();
 BeanWrapper bw = new BeanWrapperImpl(obj)
 bw.setPropertyValue("",obj);
  //if is a object , must set first.
BeanFactory:
 负责创建并维护Bean实例
 1.Bean属性值及依赖关系(对其他Bean的引用)
 2.Bean创建模式(是否Singleton模式,即是否只针对指定类维持全局唯一的实例)
 3.Bean初始化和销毁方法
 4.Bean的依赖关系
  id,class,init-method,destroy-method,singleton,depends-on[一般不需要]
 BeanFactory factory = new XmlBeanFactory(new FileSystemResource("C:/temp/eclipse/springguide/src/main/java/spring2.xml"));

BeanWrapper实现了针对单个Bean的属性设定操作。而BeanFactory则是针对多个Bean的管理容器,根据给定的配置文件,BeanFactory从中读取
类名、属性名/值,然后通过Reflection机制进行Bean加载和属性设定。


特定类的特定方法是否满足条件,满足的话就运用通知。
核心接口: 
 PointCut:ClassFilter getClassFilter();MethodMatcher getMethodMatcher();
代理target类声明为内部bean
 

ApplicationContext
 覆盖了BeanFactory的所有功能,并提供了更多的特性,包括
 1。国际化支持
 2。资源访问:支持对文件和URL的访问。
 3。事件传播:事件传播特性为系统中状态改变时的检测提供了良好支持。
 4。多实例加载:可以在同一个应用中加载多个Context实例。
1。国际化支持
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
</bean>
目前Spring中提供了两个MessageSource接口的实现,即ResourceBundleMessageSource和ReloadableResourceBundleMessageSource,后者提供了无需重启即可重新加载配置信息的特性。
2。事件传播
ApplicationContext基于Observer模式(java.util包中有对应实现),提供了针对Bean的事件传播功能。通过Application. publishEvent方法,我们可以将事件通知系统内所有的ApplicationListener。
ApplicationContextAware,ApplicationEvent,ApplicationListener


chapter 4 Resource
Interface
 Resource,ResourceLoader,ResourceLoaderAware
Class
 FileSystemResource;URLResource;ClassPathResource;ServletContextResource;
 ResourceLoader 有四种形式:file:;http:;classpath:;和none


chapter 22 mail
org.springframework.mail.MailSender,
org.springframework.mail.SimpleMailSender,
 encapatured cc,from,to,text,subject
MailException rooted exception hiartiche.
org.springframework.mail.javamail.JavaMailSender
org.springframework.mail.javamail.MimeMessagePrepare
 mime


chapter 23 schedule with quartz and timer

 

jpa annotation
ioc
transaction
mapping


1.PrepareStatementSetter, PrepareStatementCreator,SqlProvider
preparestatementsetter
preparestatementcreator,sqlprovider

2.JdbcTemplate.update one column
jdbcTemplate.update(sql,new Object[]{new java.util.Random().nextInt()});
 callback preparestatementsetter and preparestatementcreator
Your can also use jdbc type as following
 jdbcTemplate.update(sql,new Object[]{new java.util.Random().nextInt()},new int[]{Types.INTEGER});

3.update more than one row
BatchPreparedStatementSetter,
 jdbcTemplate.batchUpdate(String sql,BatchPreparedStatementSetter setter);
 jdbcTemplate.batchUpdate(String[] sqls);

4.Reading data
 RowCallbackHandler.void processRow(java.sql.ResultSet rs)
5.ResultReader[I]
 extract a row for reuse
 RowMapperResultReader
6.queryForSimpleType
 jdbcTemplate.queryForInt
7.Calling stored procedures

4.2.3 Creating operations as objects
SqlUpdate
  setDataSource(dataSource);
  setSql("insert into test values (?)");
  declareParameter(new SqlParameter(Types.INTEGER));
  compile();
 First, we have to supply our SqlUpdate object with a DataSource. It uses this to create a JdbcTemplate
 declareParameter() calls after we configure the SQL,the order in which we issue these statements is important

 

sequence
constraints
倒出来【】

分享到:
评论

相关推荐

    Assessment:Linux夏令营-Spring Notes-评估

    【标题】Linux夏令营-Spring Notes-评估 在本次Linux夏令营中,我们重点关注了Spring框架,这是一个广泛使用的Java应用程序开发框架,特别适用于构建企业级应用。Spring以其模块化、灵活的设计以及对依赖注入的支持...

    SpringFramework Notes For Professionals(对于专业人士的Spring笔记)

    SpringFramework是一款开源的Java平台,它为现代Java应用程序提供了全面的编程和配置模型。该框架的目的是简化企业级应用开发,例如支持依赖注入(DI)、事务管理、数据访问和Web层的抽象等。Spring Framework的核心...

    Spring iBatis Learning Notes

    ### Spring与iBatis整合学习笔记 #### 一、目的 本文档旨在展示如何在数据库层面上使用iBatis与Spring进行整合。数据库编程通常涉及数据库连接、连接池、SQL语句、输入输出以及事务处理等内容。Java JDBC作为低...

    Spring-Framework-Notes-For-Professionals.pdf

    以上是对“Spring-Framework-Notes-For-Professionals.pdf”文档内容的知识点提取和详细解释,涉及Spring框架的基本概念、核心特性、配置方式、Bean的创建与作用域、条件注册、数据验证、上下文配置以及网络服务调用...

    spring-core-cert-notes-4.2, 关键认证 spring 专业认证研究笔记 4.2.zip

    spring-core-cert-notes-4.2, 关键认证 spring 专业认证研究笔记 4.2 spring-核心认证说明我的笔记中有我的笔记,我创建了一部分,我做为认证的一部分。 你可以随意编辑任何错误,错误或者错误,并创建一个请求请求...

    spring_liu_MyNotes_sample

    该应用程序模拟了一个简单的便签管理器(Notes Manager),用户可以在此应用中添加、查看和删除便签。虽然我们对应用程序的功能性不做过多关注,但通过构建这样一个应用程序,读者可以学习到以下关键知识点: #### ...

    spring-framework-notes-for-professionals-book.pdf

    spring框架的官方使用说明文档

    Spring Boot笔记

    此时,我们可以参考GitHub上的笔记链接(https://github.com/xyzBits/SpringBoot/blob/master/src/main/resources/notes/Spring%20Boot%E7%AC%94%E8%AE%B0.md)来进行详细的环境配置。该文档可能包含了如何解决环境...

    【连续体动力分析课件】spring-me-intro-vib-deformable-solids-course-notes

    【连续体动力分析课件】2018_spring_me_5134_intro_vib_deformable_solids_course_notes.pdf 【连续体动力分析课件】2018_spring_me_5134_intro_vib_deformable_solids_course_notes.pdf 【连续体动力分析课件】2018...

    spring-batch-3.0.5.RELEASE-dist.zip

    - 3.0.5.RELEASE相较于之前的版本,可能包含bug修复、性能优化和新功能的添加,具体可以参考官方的Release Notes获取详细信息。 综上所述,Spring Batch 3.0.5.RELEASE 提供了一套强大而灵活的批处理解决方案,...

    spring-framework-4.1.6.RELEASE-dist

    Release Notes | Project Page | GitHub | Issues | Documentation Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架...

    notes_spring:使用Spring MVC和Spring Security实施重建Notes项目

    在本项目"notes_spring"中,我们主要探讨如何利用Spring MVC和Spring Security这两个核心的Java框架来构建一个功能完善的Web应用程序。Spring MVC是Spring框架的一部分,专门用于处理Web请求和响应,而Spring ...

    YiDoctor#yim-notes#08-必会框架-Spring全家1

    【7-1】必会框架-Spring全家主要内容一 SpringSpring学习笔记:【01】Spring5基本内容和配置使用【02】SpringMVC学习笔记【0

    Notes on Data Structures and Programming Techniques.pdf

    在当今信息时代,数据结构和编程技术成为了计算机科学不可或缺的核心内容。通过深入探讨数据结构与编程技术,学生们能够掌握如何高效地组织和处理数据,这对于解决各类计算问题具有至关重要的意义。...

    spring-notes:用于演示Spring Boot的简单CRUD API

    "spring-notes" 可能是一个项目或者教程,用于演示如何在 Spring Boot 中实现基本的 CRUD(创建、读取、更新、删除)操作。 在 Spring Boot 中,我们可以利用 Spring Data JPA 和 Hibernate 这样的 ORM(对象关系...

    spring security3.0所有最新开发包及源码及文档

    5. **Release Notes**:记录了该版本的新特性、改进和已知问题,对开发者了解版本更新情况非常有用。 Spring Security 3.0的改进主要包括: 1. **改进了基于注解的访问控制**,使得在控制器方法级别添加访问控制变...

    Spring-notes:这是学习Spring框架的笔记

    Spring-notesthis is a note for learning Spring framework从今天开始温习Spring框架知识,为了便于归纳和整理知识在github建立了这个工程。

    Discrete Mathematics (Lecture Notes, Yale University, Spring 1999)

    ### 离散数学知识点概览 #### 一、引言 - **离散数学**是一门研究可以取离散值的对象的数学分支,与连续数学(如微积分)相对应。 - 这些讲义来自耶鲁大学1999年春季学期的课程,由László Lovász和Katalin ...

    java8集合源码分析-spring-boot-notes:springboot的学习过程

    spring-boot-notes 用于记录学习、使用 Spring Boot 框架。 主要内容是 Spring Boot 框架的一些特性、小功能的实现、常用框架的整合等。 Spring Boot版本:2.X JDK版本:8 开发工具:IntelliJ IDEA A.hello 你好,...

    SpringBoot2-StudyNotes:我的Spring Boot学习笔记

    通过这份"SpringBoot2-StudyNotes"的学习资料,你可以深入理解Spring Boot 2的关键概念、配置方式以及如何利用其特性构建高效的应用。同时,通过阅读源代码和实践案例,能够提升你的Java开发能力,使你更加熟练地...

Global site tag (gtag.js) - Google Analytics