前言 学习Spring第一课,就是认识IOC控制反转,要了解它还真得花一些功夫.今天主要理解透彻它的真谛,而不仅限于表面. 上道小菜 public class BusinessService { private UserDao dao = new UserDao(); private User findUser() { return dao.getUser("1"); } } public class UserDao { public User getUser(String id) {…
Spring最核心的特点就是控制反转:(IOC)和面向切面(AOP) 首先作为一个Spring的项目需要导入的四个核心包,一个依赖: 四核心:core.context.beans.expression 一个依赖:commons-loggins.jar 其次注意在Spring的jar包中,有三种文件: 1.字节码文件[真正使用的jar包] 2.文档-javadoc 3.源码文件-sources 关于Spring的配置文件: 位置:我们一般放在src(classpath)下. 名字:名字一般取名ap…
关于Spring: spring容器是Spring的核心,该容器负责管理spring中的java组件, ApplicationContext ctx  = new ClassPathXmlApplicationContext("bean.xml");//这种方式实例化容器,容器会自动预初始化所有Bean实例 ctx.getBean("beanName"); ApplicationContext 实例正是Spring容器. ApplicationContext 默认会…
•Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 <bean> 的 autowire 属性里指定自动装配的模式 •byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring 将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配. •byName(根据名称自动装配): 必须将目标 Bean 的名称和属性名设置的完全相同. •constructor(通过构造器自动装配): 当 Bean 中存在多…
DI Dependency Injection ,依赖注入 is a :是一个,继承. has a:有一个,成员变量,依赖. class B { private A a;   //B类依赖A类 } 依赖:一个对象需要使用另一个对象 注入:通过setter方法进行另一个对象实例设置. 例如: class BookServiceImpl{ //之前开发:接口 = 实现类  (service和dao耦合) //private BookDao bookDao = new BookDaoImpl(); /…
1.通过property配置bean <!-- 配置一个 bean --> <bean id="helloWorld" class="com.atguigu.spring.helloworld.HelloWorld"> <!-- 为属性赋值 --> <property name="user" value="Jerry"></property> </bean>…
Spring中基于XML中的装配bean有三种方式: 1.默认构造 2.静态工厂 3.实例工厂 1.默认构造 在我们在Spring的xml文件中直接通过:     <bean id="名字" class="全限定类名" ></bean>     来写的时候,默认走的是类的默认构造,当我们写了自己的构造方法(就算是无参的)     也是会覆盖默认的构造的,在这种情况下,这种     默认构造实例化bean的方式就不能够使用了! 2.静态工厂 同…
以上是Spring的核心部分,其中需要了解的是:BeanFactory.ApplicationContext[FileSystemXmlApplicationContext.ClassPathXmlApplicationContext] 首先要了解BeanFactory的特点: 这是一个工厂,用于生成任意bean.采取延迟加载,第一次getBean时才会初始化Bean. ApplicationContext: 是BeanFactory的子接口,功能更强大.(国际化处理.事件传递.Bean自动装配…
[TOC] 第一章Spring框架简介 IOC(控制反转)和AOP(面向方面编程)作为Spring框架的两个核心,很好地实现了解耦合.所以,简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. spring的基本框架主要包含六大模块:DAO.ORM.AOP.JEE.WEB.CORE Spring DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 . Spring ORM:Spring可以与ORM框架整合.例如Spring整合Hi…
IOC:inverse of Control: 控制反转. 意思是程序中的之间的关系,不用代码控制,而完全是由容器来控制.在运行阶段,容器会根据配置信息直接把他们的关系注入到组件中.同样,这也是 依赖注入的含义.依赖注入和控制反转其实是一个概念.只不过强调的不同而已,依赖注入强调关系的注入是由容器在运行时完成,而控制反转强调关系是由容器控制.其实本质是一样的. 贴一段代码 /** * 学校类 */ public class School { private String name; public…