随笔分类 - Spring
如果 Spring 框架真正的熟练 , 至少能达到的程度是 , 别人给你任意一段 Java 代码 , 你都能通过 Spring 配置文件将它配置出来 . 当学习了SpringBoot 之后 , 要保证以 Java 配置的形式加上注解使之实现 IoC .
摘要:有一篇写的是容器后处理器, 这篇是 Bean 后处理器 , 我对这个 Bean 后处理器的理解就是一个 AOP 编程 . Bean 后处理器 : 是一种特殊的 Bean , 这种 Bean 不对外提供服务 , 可以不需要 id 属性, 主要负责对容器中的其他 Bean 执行后处理 , 所谓后处理,就
阅读全文
摘要:之前学 Spring 的时候 , 还没听过容器后处理器 , 但是一旦写出来 , 就会觉得似曾相识 . 容器配置器通常用于对 Spring 容器进行处理 , 并且总是在容器实例化任何其他 Bean 之前 , 读取配置文件中的元数据 , 并有可能修改这些数据 . Spring 提供了如下几个常用的容器后处理器 : PropertyPlaceholderConfigurer : 属性占位符配置...
阅读全文
摘要:每次看书都会发现自己的不足 . 当一个 singten 的 Bean 依赖一个 prototype 的 Bean 时 , 如果不加注意 , 会发生一些奇怪的事情 , prototype 变为了 singten 了 , 这是为什么呢 ? 这是 Spring 容器本身的特性 , 当初始化 Spring 容器时 , 容器会预初始化容器中所有的 singleton 的 Bea...
阅读全文
摘要:这里的继承 , 不是 Java 中的继承 , 下面就总结下 Bean继承与Java继承的区别: Spring 中的子类 Bean 和父 Bean 可以是不同类型 , 但是 Java 中的继承则可保证子类是一种特殊的父类 ; Spring 中 Bean 的继承时实例之间的关系 , 因此主要表现为参数值的延续 ; 而 Java 中的继承是类之间的关系 , 主要表现为方法和属性的延续...
阅读全文
摘要:Spring 是一个 bean 容器, 负责 bean 的创建, 那么所有的 bean对象都是 Spring 容器创建的吗 ? 答案是否定的. 但是乍一想, 好像所有的对象都是 Spring 容器负责创建并注入的, 今天在看书的时候, 看到了创建 bean 的三种方式, 分别是 : 第一个是 Spr
阅读全文
摘要:配置文件代码如下:
阅读全文
摘要:@Primary 注解 刚看到这个,还以为是持久层的注解呢,以为和@Id差不多,一查才知道,这两个风马牛不相及,反倒和@Qualifier以及@Resource有点像了,但是相比而言,后面两个更加的灵活。 可以看这两个博客【博客一】【博客二】 我觉得第一篇博客讲的不太对,结合第二篇应该就能理解第一篇
阅读全文
摘要:先提一嘴 @RequestMapping(“url”),这里的 url写的是请求路径的一部分,一般作用在 Controller的方法上,作为请求的映射地址。 代码: 那么 @ResponseBody呢? 举个例子: 后台 Controller类中对应的方法: @RequestBody呢? @Requ
阅读全文
摘要:今天看到一段代码使用的是 @Resource 的注解,的确是第一次看到这个注解,百度一查才知道,原来和 @Autowired 效果一样,但也有一定的区别。 两个注解都可以用来注入 bean ,@Resource 是 JavaEE 的注解,@Autowired是Spring的注解,他俩都可以写在属性名上, setter方法上,@Autowired 还可以写在普通方法上,构造器上,而且...
阅读全文
摘要:今天在回顾之前学的事务时,有一个点完全遗忘了。那就是事务的传播性,事务的 propagation 属性。 举个例子: 上淘宝买东西,我买本 【Spring 揭秘】,就在下单的时候,我支付宝钱不够,支付失败,这个支付的过程肯定带事务的,支付失败就代表之前的操作都会回滚,数据不进入数据库【其实是会进的,
阅读全文
摘要:Spring 注解式注册 bean: 大致分为以下几步: 开启 context 空间支持 开启自动扫描功能,指定扫描包路径 使用注解配置 bean (使用@Component 注解) 给 bean 注入属性(基本类型和引用类型) 设置 bean 的生命周期 设置 bean 的作用域(默认为单例) 详细: 1 . 开启 context 空间支持 2 . 开启自动扫描功能,指定...
阅读全文
摘要:下面是 application.xml 文件。 org.hiber...
阅读全文
摘要:之所以要写这个,是因为最近碰到了一个延迟加载的 load() 导致出现 noSession 的异常。 下面第三种方式解决这个问题需要用到一个本地线程的对象,也就是 ThreadLocal 类,之前写过关于这个对象,可以看这个博客【本地线程 ThreadLocal 类】 提一嘴 get 和 load 的区别:【详细可以查看这篇博客 load() 和 get() 的区别】 1.get() 采用立即加...
阅读全文