Jar包和文档下地址:
http://repo.spring.io/release/org/springframework/spring/
源代码下载地址:
https://github.com/spring-projects/spring-framework
可以选择需要的版本,右下角有个按钮“Download ZIP”
本文以Spring3.2.8为例
一、Spring自动装配类型
1.byType
2.byName
二、@Autowired和@Resource的区别
1.@Autowired
a.此注解属于spring实现的注解。
b.默认装配类型为byType。如果同时存在多个同一类型的bean,且没有指定其中一个,会报异常;如果想指定其中一个,可通过@qualifier("beanName")指定。
2.@Resource
a.此注解属于J2EE标准注解。在(JAVAX包内)
b.默认装配类型为byName。如果名称找不到对应类型,则会按类型匹配。但要注意一旦指定了名字,如@Resource(name="beanName"),如果找不到指定的bean,则会抛异常,不会再按类型匹配。
三、自动扫描组件机制
spring配置文件中加入如下配置
<context:component-scan base-package="com.pkg" />
,spring会自动在类路径下寻找标有@Compoent,@Controller,@Service,@Repository等注解的类,并将这些类纳入spring的窗口管理,这四个注解实现上没有太大区别,估计是以后扩展用吧,可以用来指定不同的层所对应的类,它们有一个共同的属性value,可以用来指定bean的名称,如果没有指定,则会以类名第一个字母小写作为名称。
四、hibernate在spring中的几个实现类,具体用法可参考文档。
1.HibernateTemplate.下文摘自spring文档
HibernateTemplate will ensure that Session instances are properly opened and closed, and automatically participate in transactions. The template instances are thread-safe and reusable, they can thus be kept as instance variables of the surrounding class.
2.继承HibernateDaoSupport
Spring provides a convenient HibernateDaoSupport base class that provides a setSessionFactory(..) method for receiving a SessionFactory, and getSessionFactory() and getHibernateTemplate()for use by subclasses.
两者比较 :
HibernateDaoSupport allows any checked application exception to be thrown within the data access code; but HibernateTemplate class throwing only unchecked exceptions within the callback.
五、AOP in spring
代理方式默认为JDK动态代理,也可以是CGLIB代理。关于AOP的其它概念可参考spring文档,文档里对pointcut和advice的类型都进行了详细的说明,此处只提取下面的例子
package x.y;
import org.aspectj.lang.ProceedingJoinPoint;
import org.springframework.util.StopWatch;
public class SimpleProfiler {
public Object profile(ProceedingJoinPoint call, String name, int age) throws Throwable {
StopWatch clock = new StopWatch(
"Profiling for '" + name + "' and '" + age + "'");
try {
clock.start(call.toShortString());
return call.proceed();
} finally {
clock.stop();
System.out.println(clock.prettyPrint());
}
}
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- this is the object that will be proxied by Spring's AOP infrastructure -->
<bean id="fooService" class="x.y.service.DefaultFooService"/>
<!-- this is the actual advice itself -->
<bean id="profiler" class="x.y.SimpleProfiler"/>
<aop:config>
<!-- 定义切面bean -->
<aop:aspect ref="profiler">
<!-- 定义哪些方法需要进行代理 -->
<aop:pointcut id="theExecutionOfSomeFooServiceMethod"
expression="execution(* x.y.service.FooService.getFoo(String,int))
and args(name, age)"/>
<!-- 代理的方法(profile)以及代理方式(aop:around) -->
<aop:around pointcut-ref="theExecutionOfSomeFooServiceMethod"
method="profile"/>
</aop:aspect>
</aop:config>
</beans>
分享到:
相关推荐
这样的总结对于快速回顾和记忆Spring知识点非常有用。 **学习路径** 对于初学者,首先应该理解Spring的基本概念,如IoC和AOP,然后逐步学习Spring的各个模块,例如Spring MVC(用于构建Web应用)、Spring JDBC和...
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
spring AOP 理论知识点总结.wpsspring AOP 理论知识点总结.wpsspring AOP 理论知识点总结.wps
下面将详细讲解Spring框架的关键知识点。 一、Spring 原理讲解 1. 依赖注入(Dependency Injection,DI):Spring的核心特性之一,通过DI,Spring可以在运行时将对象需要的依赖关系传递给它,而不是由对象自己创建...
Spring框架的关键知识点包括: 1. **依赖注入**:通过容器管理组件间的依赖关系,提高代码的灵活性和可测试性。 2. **AOP**:实现日志、事务等横切关注点的模块化,提高代码组织性。 3. **Spring MVC**:Spring提供...
spring从搭建配置到简单开发的一个整体流程,比较适合打基础的朋友!
springcloud汇总知识点,从零到精通springcloud汇总知识点,从零到精通springcloud汇总知识点,从零到精通springcloud汇总知识点,从零到精通springcloud汇总知识点,从零到精通springcloud汇总知识点,从零到精通...
Spring Cloud是基于Spring Boot实现的一套微服务框架,它提供了在...通过"Spring Cloud知识点学习思维导图",我们可以清晰地看到各个组件的作用以及它们如何协同工作,这对于深入理解并有效应用Spring Cloud至关重要。
Spring AOP提供面向切面的编程,用于处理横切关注点,如日志、事务管理等。Spring MVC是Spring框架的一部分,用于构建Web应用,提供模型-视图-控制器架构。 总的来说,学习Spring应从其核心概念、配置文件解析、IoC...
根据提供的信息,我们可以深入探讨与“Spring框架”相关的知识点。虽然描述部分并未提供具体的信息,但从标题中可以明确看出这是关于Spring框架的知识讲解。接下来,我们将详细介绍Spring框架的基础概念、核心特性...
现在,我们逐一探讨这些关键知识点。 1. **依赖注入(IOC)**:依赖注入是Spring的核心功能,它允许开发者解耦组件间的依赖关系。在传统编程中,对象通常会自行创建所需的依赖对象,但在IOC中,这些依赖由外部容器...
spring阶段知识点总结
Spring 框架是 Java 开发中的核心框架之一,它为构建企业级应用程序提供了全面的解决方案。本资源包含了 Spring 框架多个关键模块的代码示例,旨在...学习并掌握这些知识点对于提升 Java 开发者的技能水平至关重要。
### Spring插件下载教程知识点详解 #### 一、Spring Tool Suite (STS) 概述 - **Spring Tool Suite**:一款由Spring官方推荐的强大Eclipse插件,它为开发者提供了全面的支持工具,尤其是在处理Spring Bean定义文件...
spring知识点:作为初学者详细整理了spring的相关知识点 便于复习面试
通过以上知识点的梳理,我们可以看到Spring Boot作为一个现代化的框架,从自动配置、起步依赖到生产部署,每个方面都旨在简化Spring应用的开发和运维工作。其轻量级的特性、灵活的配置方式以及强大的集成能力,使得...
根据提供的文件信息,我们可以深入探讨与Spring Cloud相关的知识点。尽管文档标题和描述较为简单,但可以从这些信息中提炼出关于Spring Cloud项目的源码下载、Spring Cloud的基本概念、用途及其核心组件等方面的内容...
以下是关于"Spring5.0下载官网下载包"的详细知识点: 1. **Spring5.0新特性** - **反应式编程支持**:Spring5引入了对Reactive Streams和Project Reactor的支持,这是对非阻塞、响应式编程模型的实现,适用于高...
在本文中,我们将深入探讨Spring框架的一些核心知识点,以帮助开发者更好地理解和应用这一强大的工具。 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,它允许组件之间的依赖关系在运行时被...
spring框架核心知识点