![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
流星划过gray
艾玛黛玛
展开
-
Spring入门(Bean配置项、生命周期等)
在Spring的IOC里边,把容器配置到IOC容器里边的这种实体或者对象都成为Bean。 容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或原创 2017-09-24 01:23:35 · 204 阅读 · 0 评论 -
Spring入门(基于Java的容器注解之@ImportResource和@Value)
如何使用@ImportResource和@Value进行资源文件读取。首先看个例子,使用beans来定义一个配置<beans> <context:annotation-config/> <context:property-placeholder location="classpath:/com/acme/jdbc.properties"/> <bean class="com.a原创 2017-09-29 17:36:19 · 11559 阅读 · 1 评论 -
Spring入门(概述以及框架)
Spring是什么 Spring是一个开源框架,为了解决企业应用开发的复杂性而创建,但现在已经不止应用于企业应用。 是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器框架。 -从大小与开销两方面而言Spring都是轻量级的。 -通过控制反转(IoC)的技术达到松耦合的目的。控制反转就是把控制权交出去,在使用时得到这样的对象。 -提供了面向切面编程的丰富支持,允许通过分离原创 2017-09-21 20:53:20 · 226 阅读 · 0 评论 -
Spring入门(基于Java的容器注解之@Scope和基于泛型的自动装配)
@Scope在使用@Bean的时候,默认@Bean定义出来的注解是单例的,那么有什么方式可以指定它的范围呢,我们使用@Scope。Bean的作用域包括singleton、prototype、request、session、global session。 @Scope里边的内容和我们之前说到的Bean的范围是一样的,默认value是singleton,可以使用prototype、request原创 2017-09-30 13:32:43 · 1810 阅读 · 1 评论 -
Spring入门(Spring对JSR支持的说明)
@ResourceSpring还支持使用JSR-250@Resource注解的变量或setter方法,这是一种在Java EE 5和6的通用模式,Spring管理的对象也支持这种模式。 @Resource有一个name属性,并且默认Spring解释该值作为被注入bean的名称。public class SimpleMovieLister{ private MovieFinder movieF原创 2017-09-30 17:21:21 · 1053 阅读 · 2 评论 -
Spring入门(Schema-based AOP其四)
Introductions简洁允许切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来表达这些对象 由<aop:aspect>中的<aop:declare-parents>元素声明。该元素用于声明所匹配的类型拥有一个新的parent(因此得名)来看一下配置<aop:aspect id="usageTrackerAspect" ref="usageTracking"> <aop:de原创 2017-10-03 23:51:40 · 260 阅读 · 0 评论 -
Spring入门(Schema-based AOP其三)
Advice应用配置完了切入点,接下来要配置advice,也就是通知的配置。Before adviceBefore advice是前置通知前置通知的方式是aop:before,然后有一个pointcut-ref是引用某一个切入点,还有一个method,就是前置通知会调用哪一个方法去执行。这个方法是ref对应bean中的方法。<aop:aspect id="beforeExample" ref="aB原创 2017-10-03 17:17:52 · 223 阅读 · 0 评论 -
Spring入门(Schema-based AOP其二)
基于使用配置的AOP的实现Schema-based AOPSpring所有的切面和通知偶必须放在一个<aop:config>内(可以配置多个包含<aop:config>元素),每一个<aop:config>可以包含pointcut,advisor元素(它们必须按照这个顺序进行声明) <aop:config>风格的配置大量使用了Spring的自动代理机制然后看一下基于这种配置的AOP的实现 首先声原创 2017-10-03 16:05:53 · 264 阅读 · 0 评论 -
Spring入门(Schema-based AOP其一)
什么是AOPAOP:Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 主要的功能是:日志记录、性能统计、安全控制、事务处理、异常处理等等。举例说明,对于以上任意一种功能,以事务处理为例,我们希望任何数据库操作的方法,像update,insert,delete,我们不希望在每一个方法上自己手动地去开启事原创 2017-09-30 20:09:17 · 475 阅读 · 0 评论 -
Spring入门(AOP API、ProxyFactoryBean其一)
介绍这是Spring1.2历史用法,现在(V4.0)仍然支持 这是SpringAOP基础,不得不了解 现在的用法也是基于历史的,只是更简便了PointcutPointcut作为一个接口,它有几个实现类,这里以其中一个来介绍,他就是NameMatchMethodPointcut。它根据方法名字进行匹配。 它有一个成员变量mappedNames,匹配的方法名集合。 来看一下下面这个配置文件的例子原创 2017-10-04 23:45:19 · 275 阅读 · 0 评论 -
Spring入门(基于Java的容器注解之@Bean)
@Bean@Bean标识一个用于配置和初始化一个由SpringIOC容器管理的新对象的方法,也就是说通过@Bean可以生成一个IOC容器的bean实例,类似于XML配置文件的<bean/>。 可以在Spring的@Component注解的类,然后在类中使用@Bean注解任何方法(仅仅是可以),然后在方法中去创建对象,进行返回。 上一点中,通常使用的是@Configuration和@Bean配合使原创 2017-09-29 17:01:39 · 675 阅读 · 0 评论 -
Spring入门(Bean装配,@Qualifier)
当按类型自动装配可能多个bean实例的情况,可以使用Spring的@Qualifier注解缩小范围(或指定唯一),也可以用于指定单独的构造器参数或方法参数。 可用于注解集合类型变量。比如说按类型装配可能有多个bean的时候,在前一篇的例子中提到,可以使用@Autowired去注解List这样的数组集合,或者是Map也就是说按照刚才的例子,BeanInterface和BeanImplOne、原创 2017-09-29 13:55:12 · 1013 阅读 · 0 评论 -
Spring入门(接口、IOC、注入)
接口 用于沟通的中介物的抽象化 实体把自己提供给外界的一种抽象化说明,用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式(比如实现注册功能,只要提供相应信息即可,至于注册这个功能如何实现,逻辑是什么样,数据存储在哪是不对外公开的) 对应Java接口即声明,声明了哪些方法是对外公开提供的 在Java8中,接口可以拥有方法体面向接口编程 结构设计中,分清原创 2017-09-21 21:48:10 · 3385 阅读 · 0 评论 -
Spring入门(Bean的Aware接口)
Aware Spring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以获取相应资源。比如BeanNameAware之类的以Aware结尾的接口,这个接口获取的资源就是以BeanName相关的。 通过Aware接口,可以对Spring相应资源进行操作(一定要慎重,因为获取的资源可能是IOC的核心资源)。 为对Spring进行简单的扩展提供了方便的接口。原创 2017-09-24 16:35:32 · 2124 阅读 · 0 评论 -
Spring入门(Bean自动装配)
Autowiring自动装配 有哪些类型 No:不做任何操作(默认的)。 byname:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动匹配。如果重复的话,IOC容器启动就会失败,不能存在两个相同的id。 byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动匹配;如果存在多个该类型bean,那么抛出异常,并指出不能使用原创 2017-09-24 21:32:23 · 226 阅读 · 0 评论 -
Spring入门(Resources/ResourceLoader)
Resources是Spring针对于资源文件的统一接口。Resources有以下几类 -UrlResource:URL对应的资源,根据一个URL地址即可构建 -ClassPathResource:获取类路径下的资源文件 -FileSystemResource:获取文件系统里面的资源 -ServletContextResource:ServletContext封装的资源,用于原创 2017-09-26 20:35:28 · 446 阅读 · 0 评论 -
Spring入门(Bean的定义及作用域的注解实现)
Classpath扫描与组件管理从Spring3.0开始,Spring JavaConfig项目提供了很多特性,包括使用java而不是xml定义bean,比如@Configuration、@Bean、@Import、@DependsOn @Component是一个通用注解,可用于任何bean @Repository、@Service、@Controller是更有针对性的注解 -@Re原创 2017-09-27 16:53:31 · 516 阅读 · 0 评论 -
Spring入门(AOP API,ProxyFactoryBean其三)
Proxying classes前面的ppt图片例子中如果没有Person接口,或者代码例子中没有BizLogic接口,这种情况下Spring会使用CGLIB代理,而不是JDK动态代理 如果想,可以强制在任何情况下使用CGLIB,即使有接口 CGLIB代理的工作原理是在运行时生成目标类的子类,Spring配置这个生成的子类委托方法调用到原来的目标 子类是用来实现Decorator模式,织入通知原创 2017-10-06 17:37:18 · 412 阅读 · 0 评论 -
Spring入门(AspectJ简单介绍)
AspectJ@AspectJ的风格类似纯java注解的普通java类 Spring可以使用AspectJ来做切入点解析 AOP的运行时仍旧是纯的Spring AOP,对AspectJ的编译器或者织入无依赖性Spring中配置@AspectJ对@AspectJ支持可以使用XML或Java风格的配置 Java注解风格:@Configuration@EnableAspectJAutoProxy原创 2017-10-06 20:02:52 · 1731 阅读 · 0 评论 -
Spring入门(AspectJ,Advice以及对于Advice扩展)
AspectJ中Advice定义Before advice@Component@Aspectpublic class MoocAspect { @Before("execution(*com.imooc.aop.aspectj.biz.Biz.*(..))") public void before() { //... }}用@Before这个注解,里边可以原创 2017-10-06 21:49:06 · 832 阅读 · 0 评论 -
Spring入门(Bean装配,Autowired注解)
@Required@required注解适用于bean属性的setter方法。 这个注解仅仅表示,受影响的bean属性必须在配置时被填充,通过在bean定义或通过自动装配一个明确的属性值。(也就是说bean的属性必须在配置的时候就被赋值)public class SimpleMovieLister{ private MovieFinder movieFinder; @原创 2017-09-28 11:29:50 · 424 阅读 · 0 评论 -
Spring入门(AOP API、ProxyFactoryBean其二)
ProxyFactoryBean这个类是Spring AOP代理的最基础核心的一个类 创建Spring AOP代理的基本方法是使用org.springframework.aop.framework.ProxyFactoryBean这个类 通过使用这个类可以完全控制切入点和通知(advice)以及他们的顺序ProxyFactoryBean和其他的FactoryBean(工厂方法)是一样的原创 2017-10-05 01:45:20 · 270 阅读 · 0 评论