​ 前一篇<不要再说不会Spring了!Spring第一天,学会进大厂!>文章可点击下方链接进行回看. 不要再说不会Spring了!Spring第一天,学会进大厂! 今天将继续讲解Spring的注册bean的方式.将通过代码片段+源码的方式,用图文结合来讲清楚这些注册bean的方式. 一.@Conditional条件注册bean @Conditional:是Spring4新提供的注解,它的作用是按照一定条件进行判断,满足条件后往IOC容器中进行注册. 场景:往IOC容器中注册bean时,当操作…
环境搭建: 新建一个maven项目,引入依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependency> 创建一个简单的类Person package com.yang.spring.domain…
1.@Bean 导入第三方的类或包的组件 2.包扫描+组件的标注注解(@ComponentScan: @Controller,@service,@Reponsitory,@Componet), 自己写的类 3.@Import[可以快速给容器中导入一个或者多个组件]        1@Import(要导入到容器中的组件):容器中就会自动注册这个组件,id默认是全类名 @Configuration @Import(value = {Student.class,Teacher.class}) publ…
JDBC注册驱动的三种方式 1.通过导入的JDBC的驱动包拿到的com.mysql.jdbc.Driver对象,利用java.sql.DriverManager对象的DriverManager.registerDriver(driver)注册. 2.通过类反射拿到com.mysql.jdbc.Driver对象,利用java.sql.DriverManager对象的DriverManager.registerDriver(driver)注册. 3.拿到驱动反射类,自动注册 //第一种方式 Driv…
今天再来一篇<吊打面试官>系列,这次真的要吊打了,哈哈!(看往期吊打系列请在后台回复:吊打,我会陆续更新--) 前几天栈长不是发了一篇文章,里面有一个关于事务失效的问题: 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景? 其中有个热心粉丝留言分享了下,我觉得总结得有点经验,给置顶了: 以上留言来源微信公众号:Java技术栈,关注一起学Java! 但是我觉得还是总结得不够全,今天栈长我再总结一下,再延着这位粉丝的总结再补充完善一下,不用说,我肯定也不见得总结全…
on注册事件的2种方式 on注册事件的语法 on注册简单事件 // 这个是p自己注册的事件(简单事件) $("p").on("click", function () { alert("呵呵"); }); $("#btn").on("click", function () { $("<p>我是新建的p元素</p>").appendTo("div"…
一 @Import导入组件,id默认是组件的全类名 //类中组件统一设置.满足当前条件,这个类中配置的所有bean注册才能生效: @Conditional({WindowsCondition.class}) @Configuration @Import({Color.class,Red.class,MyImportSelector.class,MyImportBeanDefinitionRegistrar.class}) //@Import导入组件,id默认是组件的全类名 public clas…
关于Spring的搭建可参见:浅析Spring框架的搭建.在测试之前还是应该先将环境配置好,将相关Jar包导进来.Spring创建的对象,默认情况下都是单例模式,除非通过scope指定. 向IOC容器中注入对象,通过配置XML文件的<bean>节点来实现,<bean>中最主要的属性有两个,id和class,id表示标识这个<bean>节点,class表示关联的类文件名称(包名 + 类名).<property>节点可以调用类中的setter方法,name对应参…
在 Servlet/Jsp 项目中,如果涉及到系统任务,例如在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行,这里,容易想到web基础中的三大组件( Servlet.Filter.Listener )之一 Listener ,这种情况下,一般定义一个 ServletContextListener,然后就可以监听到项目启动和销毁,进而做出相应的数据初始化和销毁操作,例如下面这样: public class MyListener implements…
一.Spring的容器: 1.什么是控制反转:传统的方法,当某个java对象A需要调用对象B时,是由调用者(对象A)通过new关键字来创建对象B的(也可以说类A依赖类B),而在Spring中,则是由spring完成创建的,所以“控制反转”了.那么当需要更改类信息时,只要改Spring的配置文件就行了,这样我们就明白了:之所以要用Spring来创建新对象的目的就是它能降低类与类之间的耦合度. 2.容器: Spring容器是Spring的核心. 实例化一个spring容器,容器会自动预初始化所有Be…