spring
cully#
这个作者很懒,什么都没留下…
展开
-
对于多模块开发会遇到的问题——父子容器
springmvc中使用父子容器 就是controller层交给一个spring容器加载,其他的service和dao层交给另外一个spring容器加载,web.xml中有这块配置,这两个容器组成了父子容器的关系 通常我们使用springmvc的时候,采用3层结构(可以只使用一个容器),controller层,service层,dao层;父容器中会包含dao层和service层(一般是controller层调用其他层的处理),而子容器中包含的只有controller层;这2个容器组成了父子容器的关系,con原创 2020-05-24 22:37:41 · 403 阅读 · 0 评论 -
@Scope、@DependsOn、@ImportResource、@Lazy 详解
@Scope用来配置bean的作用域,等效于bean xml中的bean元素中的scope属性 查看源码 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Scope { @AliasFor("scopeName") String value() default ""; @AliasFor("value"原创 2020-05-24 22:15:45 · 365 阅读 · 0 评论 -
@ComponentScan、@ComponentScans详解(bean批量注册)、补充@Import
spring中注册bean到容器中的方法有很多,@Bean注解明显不适用于批量注册,所以spring中的@ComponentScan就是干这个事情的。 @ComponentScan @ComponentScan用于批量注册bean。 这个注解会让spring去扫描某些包及其子包中所有的类,然后将满足一定条件的类作为bean注册到spring容器容器中。 通过源码查看注解的定义 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Doc原创 2020-05-20 21:31:16 · 696 阅读 · 1 评论 -
@Configuration注解与@Bean
@Configuration这个注解可以加在类上,让这个类的功能等同于一个bean xml配置文件 会默认创建一个无参对象在spring容器中 @Bean注解用在方法上,表示通过方法来定义一个bean,默认将方法名称作为bean名称,将方法返回值作为bean对象,注册到spring容器中 /** * @Configuration注解将对象加入spring容器,相当于bean.xml * 默认会将configactionBeanDemo对象配置到spring容器中 */ @Configuration p原创 2020-05-19 20:51:38 · 1135 阅读 · 0 评论 -
java中实现动态代理Proxy
上面主要是createProxy方法用来创建代理对象,2个参数: target:目标对象,需要实现targetInterface接口 targetInterface:需要创建代理的接口 invoke方法中通过method.invoke(this.target, args)调用目标方法,然后统计方法的耗时。原创 2020-05-18 21:37:30 · 241 阅读 · 0 评论 -
Spring中单例bean中使用多例
创建PrototypeDemoLM.java文件提供多例 public class PrototypeDemoLM { } 创建SingletonDemoLM.java文件,将PrototypeDemoLM依赖 public class SingletonDemoLM { private PrototypeDemoLM prototypeDemoLM; public PrototypeDemoLM getPrototypeDemoLM() { return prototy原创 2020-05-15 13:54:26 · 576 阅读 · 0 评论 -
spring中使用继承简化bean的配置
创建一个ServiceA.java文件 package com.example.demo.demo; public class ServiceA { } 分别创建ServiceB.java和ServiceC.java依赖ServiceA package com.example.demo.demo; public class ServiceB { private String name; private ServiceA serviceA; public String get原创 2020-05-14 20:21:03 · 163 阅读 · 0 评论