请确保配置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
倒出来【】
分享到:
相关推荐
【标题】Linux夏令营-Spring Notes-评估 在本次Linux夏令营中,我们重点关注了Spring框架,这是一个广泛使用的Java应用程序开发框架,特别适用于构建企业级应用。Spring以其模块化、灵活的设计以及对依赖注入的支持...
SpringFramework是一款开源的Java平台,它为现代Java应用程序提供了全面的编程和配置模型。该框架的目的是简化企业级应用开发,例如支持依赖注入(DI)、事务管理、数据访问和Web层的抽象等。Spring Framework的核心...
### Spring与iBatis整合学习笔记 #### 一、目的 本文档旨在展示如何在数据库层面上使用iBatis与Spring进行整合。数据库编程通常涉及数据库连接、连接池、SQL语句、输入输出以及事务处理等内容。Java JDBC作为低...
以上是对“Spring-Framework-Notes-For-Professionals.pdf”文档内容的知识点提取和详细解释,涉及Spring框架的基本概念、核心特性、配置方式、Bean的创建与作用域、条件注册、数据验证、上下文配置以及网络服务调用...
spring-core-cert-notes-4.2, 关键认证 spring 专业认证研究笔记 4.2 spring-核心认证说明我的笔记中有我的笔记,我创建了一部分,我做为认证的一部分。 你可以随意编辑任何错误,错误或者错误,并创建一个请求请求...
该应用程序模拟了一个简单的便签管理器(Notes Manager),用户可以在此应用中添加、查看和删除便签。虽然我们对应用程序的功能性不做过多关注,但通过构建这样一个应用程序,读者可以学习到以下关键知识点: #### ...
spring框架的官方使用说明文档
此时,我们可以参考GitHub上的笔记链接(https://github.com/xyzBits/SpringBoot/blob/master/src/main/resources/notes/Spring%20Boot%E7%AC%94%E8%AE%B0.md)来进行详细的环境配置。该文档可能包含了如何解决环境...
【连续体动力分析课件】2018_spring_me_5134_intro_vib_deformable_solids_course_notes.pdf 【连续体动力分析课件】2018_spring_me_5134_intro_vib_deformable_solids_course_notes.pdf 【连续体动力分析课件】2018...
- 3.0.5.RELEASE相较于之前的版本,可能包含bug修复、性能优化和新功能的添加,具体可以参考官方的Release Notes获取详细信息。 综上所述,Spring Batch 3.0.5.RELEASE 提供了一套强大而灵活的批处理解决方案,...
Release Notes | Project Page | GitHub | Issues | Documentation Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架...
在本项目"notes_spring"中,我们主要探讨如何利用Spring MVC和Spring Security这两个核心的Java框架来构建一个功能完善的Web应用程序。Spring MVC是Spring框架的一部分,专门用于处理Web请求和响应,而Spring ...
【7-1】必会框架-Spring全家主要内容一 SpringSpring学习笔记:【01】Spring5基本内容和配置使用【02】SpringMVC学习笔记【0
在当今信息时代,数据结构和编程技术成为了计算机科学不可或缺的核心内容。通过深入探讨数据结构与编程技术,学生们能够掌握如何高效地组织和处理数据,这对于解决各类计算问题具有至关重要的意义。...
"spring-notes" 可能是一个项目或者教程,用于演示如何在 Spring Boot 中实现基本的 CRUD(创建、读取、更新、删除)操作。 在 Spring Boot 中,我们可以利用 Spring Data JPA 和 Hibernate 这样的 ORM(对象关系...
5. **Release Notes**:记录了该版本的新特性、改进和已知问题,对开发者了解版本更新情况非常有用。 Spring Security 3.0的改进主要包括: 1. **改进了基于注解的访问控制**,使得在控制器方法级别添加访问控制变...
Spring-notesthis is a note for learning Spring framework从今天开始温习Spring框架知识,为了便于归纳和整理知识在github建立了这个工程。
### 离散数学知识点概览 #### 一、引言 - **离散数学**是一门研究可以取离散值的对象的数学分支,与连续数学(如微积分)相对应。 - 这些讲义来自耶鲁大学1999年春季学期的课程,由László Lovász和Katalin ...
spring-boot-notes 用于记录学习、使用 Spring Boot 框架。 主要内容是 Spring Boot 框架的一些特性、小功能的实现、常用框架的整合等。 Spring Boot版本:2.X JDK版本:8 开发工具:IntelliJ IDEA A.hello 你好,...
通过这份"SpringBoot2-StudyNotes"的学习资料,你可以深入理解Spring Boot 2的关键概念、配置方式以及如何利用其特性构建高效的应用。同时,通过阅读源代码和实践案例,能够提升你的Java开发能力,使你更加熟练地...