Ioc操作Bean管理 1,什么是Bean管理 (0)Bean管理指的是两个操作 (1)Spring创建对象 (2)Spring注入属性 2,Bean管理操作有两种方式 (1)基于xml配置文件方式实现 (2)基于注解方式实现 Ioc操作Bean管理(基于xml方式) 1,基于xml方式创建对象 <bean id="user" class="com.company.spring5.User"></bean> (1)在spring配置文件中,使…
IoC操作Bean管理(引入外部属性文件) 1,直接配置数据库信息 (1)配置德鲁伊连接池 (2)引入德鲁伊连接池依赖jar包 2,通过引入外部属性文件配置数据库连接池 (1)创建外部属性文件,properties格式文件,写数据库信息 (2)把外部properties属性文件引入到spring配置文件中 *引入context名称空间 xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLoca…
IoC操作Bean管理(XML自动装配) 1,什么是自动装配 (1)根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入 2,演示自动装配过程 (1)根据属性名称自动注入 (2)根据属性类型自动注入 注:按属性类型注入时有多个同类型不同id值的会报错…
Ioc操作Bean管理(xml注入其他类型属性), 字面量 (1)null值 (2)属性值包含特殊符号…
Ico操作Bean管理(xml注入集合属性) 1,注入数组类型属性 2,注入List集合类型属性 3,注入Map集合类型属性 (1)创建类,定义数组.list.map.set类型属性,生成对应set方法 (2)在spring配置文件进行配置 4,在集合中设置对象类型值 5,把集合注入部分提取出来 (1)在spring配置文件中引入名称空间 util xmlns:util="http://www.springframework.org/schema/util" http://www.sp…
5,p名称空间注入(简化xml配置) (1)使用p名称空间注入,可以简化基于xml配置方式 (了解实际用不多) 第一步 添加 p 名称空间在配置文件中   第二步 进行属性注入,在bean标签里面进行操作…
注入属性-内部bean和级联赋值 (1)一对多关系:部分和员工 一个部门有多个员工,一个员工属于一个部门 部门是一,员工是多 (2)在实体类之间表示一对多关系 (3)在spring配置文件中进行配置 注入属性-级联赋值 (1)第一种写法 (2)第二种写法…
注入属性-外部bean (1)创建两个类service类和dao类 (2)在service调用dao里面的方法 (3)在spring配置文件中进行配置…
IoC操作Bean管理(基于注解方式) 1,什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值...) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3)使用注解目的:简化xml配置 2,Spring针对Bean管理中创建对象提供注解 (1)@Component (2)@Service 一般用在业务逻辑层 Service层 (3)@Controller  一般用在外部层,控制层 (4)@Repository  一般用在持久层 Dao层 *上面四个…
IoC操作Bean管理(bean作用域) 1,在Spring里面,设置创建bean实例是单实例还是多实例 2,在Spring里面,默认情况下,bean是单实例对象 3,如何设置单实例还是多实例 (1)在spring配置文件bean标签里面有属性(scope)用于设置单实例还是多实例 (2)scope属性值 第一个值 默认值,singleton,表示单实例对象 第二个值 prototype,表示是多实例对象 (3)singleton 和 prototype区别 第一 singleton 单实例,…
IoC操作Bean管理(FactoryBean) 1,Spring有两种类型bean,一种像自己创建的普通bean,另一种工厂bean(FactoryBean) 2,普通bean:在spring配置文件中定义bean类型就是返回类型 3,工厂bean:在spring配置文件中定义bean类型可以和返回类型不一样 第一步 创建类,让这个类作为工厂bean,实现接口 FactoryBean 第二步 实现接口里面的方法,在实现的方法中定义返回的bean类型…
基于注解方式实现属性注入 (1)@Autowired:根据属性类型进行自动装配 第一步 把 service 和 dao 对象创建,在service 和 dao 类添加创建对象注解 第二步 在service注入 dao 对象,在service 类添加dao类型属性,在属性上面使用注解 (2)@Qualifier:根据属性名称进行注入 这个@Qualifier注解的使用,和上面@Autowired一起使用 (3)@Resource:可以根据类型注入,可以根据名称注入  (Spring不建议用这个,因…
完全注解开发 (1)创建配置类,替代xml配置文件 (2)编写测试类 在实际中一般用springboot做…
4,开启组件扫描细节配置…
1,生命周期 即从对象创建到对象销毁的过程 2,bean生命周期 (1)通过构造器创建bean实例(无参数构造) (2)为bean的属性设置值和对其他bean的引用(调用set方法) (3)调用bean的初始化方法(需要进行配置初始化的方法) (4)bean可以使用了(对象获取到了) (5)当容器关闭的时候,调用bean的销毁的方法(需要自己进行配置销毁的方法) 3,演示 bean 生命周期 4,加了bean的后置处理器,bean生命周期有七步 (1)通过构造器创建bean实例(无参数构造) (…
-------------------siwuxie095                                     基于 AspectJ 的注解方式进行 AOP 开发         1.在 Spring 的核心配置文件中配置对象                     2.在 Spring 的核心配置文件中通过命名空间 aop 开启 AspectJ 的自动代理                     3.在增强类中使用注解完成 AOP 开发                 4.…
需求:工具类里面引用IOC容器Bean,强迫症患者在调用工具类时喜欢用静态方法的方式而非注入的方式去调用,但是spring 不支持注解注入静态成员变量. 静态变量/类变量不是对象的属性,而是一个类的属性,spring是基于对象层面的依赖注入.静态变量不属于对象,只属于类,也就是说在类被加载字节码的时候变量已经初始化了,也就是给该变量分配内存了,导致spring忽略静态变量. 举个栗子: @Component public class MessageUtil { @Resource private…
IOC装配Bean (1)Spring框架Bean实例化的方式提供了三种方式实例化Bean 构造方法实例化(默认无参数,用的最多) 静态工厂实例化 实例工厂实例化 下面先写这三种方法的applicationContext.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"…
基础 1.xml文件基础格式: <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.s…
Spring框架Bean实例化的方式 提供了三种方式实例化Bean 构造方法实例化(默认无参数,用的最多) 静态工厂实例化 实例工厂实例化 无参数构造方法的实例化 <!-- 默认情况下使用的就是无参数的构造方法. --> <bean id="bean1" class="cn.yzu.spring3.demo2.Bean1"></bean> 静态工厂实例化 public class Bean2Factory { public sta…
1.直接得到 IOC 容器对象 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); 封装起来: public class ApplicationContextUtil { private static ApplicationContext applicationContext = null; public ApplicationCont…
1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integer id,Double money); } AccountDaoImpl.java package cn.mf.dao; import org.springframework.jdbc.core.s…
bean的生命周期 1.实例化Bean对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用createBean进行实例化. 对于ApplicationContext容器,当容器启动结束后,便实例化所有的bean. 容器通过获取BeanDefinition对象中的信息进行实例化.并且这一步仅仅是简单的实例化,并未进行依赖注入. 实例化对象被包装在BeanWrapper对象中,BeanWrapper提供了设置…
IOC称之为控制反转,简单来说就是将对象的创建的权利和对象的声明周期的管理过程交给Spring框架来处理,在这个开发过程中不再需要关注对象的创建和生命周期的管理,而是在需要的时由Spring框架提供,这个由Spring框架管理对象创建和生命周期的机制称之为控制反转.其中,在创建对象的过程中spring可以根据配置对象的属性进行设置,这个过程称为依赖注入(DI). IOC的实现原理在初始化一个spring容器时,spring会去解析指定的xml文件,当解析到其中的标签时,会根据该标签中的class…
初始化beanfactory主要有以下的三种方式:    1.filesystemXml Resource resource = new FileSystemResource("beans.xml"); BeanFactory factory = new XmlBeanFactory(resource); 2.一个classpathXml ClassPathResource resource = new ClassPathResource("beans.xml");…
IOC装配Bean(注解方式) 上面一遍文章讲了通过xml来装配Bean,那么这篇来讲注解方式来讲装配Bean对象 注解方式需要在原先的基础上重新配置环境: (1)Component标签举例 1:导入架包: 这个包在spring开发包中就有,我测试了下,如果取消这个包,运行确实会报错: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document…
http://blog.csdn.net/yerenyuan_pku/article/details/69663779 Spring的bean管理(注解方式) 注解:代码中的特殊标记,注解可以使用在类.方法.属性上面,使用注解可实现一些基本的功能.注解的写法是@注解名称(属性=属性值). 使用注解创建对象 第一步,创建Web项目,引入Spring的开发包 除了导入Spring基本的Jar包外(可参考<Spring的概述>一文),还须导入Spring注解的Jar包,如下:  第二步,编写相关的类…
Spring 的 Bean 管理(注解方式) 1. 导入必要的 jar 包和 xml 文件 使用注解需要导入 spring-aop 的 jar 包. applicationContext.xml 文件使用下行注解: xmlns:context="http://www.springframework.org/schema/context" 2. 使用注解定义 Bean Spring2. 5 引入使用注解去定义 Bean. @Component 描述 Spring 框架中 Bean 除了…
注解:代码中的特殊标记,注解可以使用在类.方法.属性上面,使用注解可实现一些基本的功能.注解的写法是@注解名称(属性=属性值). 使用注解创建对象 第一步,创建Web项目,引入Spring的开发包 第二步,编写相关的类 在src目录下创建一个cn.itcast.anno包,并在该包下编写一个User类. public class User { public void add() { System.out.println("add...................."); } } 第…
(1)组件扫描:spring能够从classpath下自动扫描.侦测和实例化具有特定注解的组件. (2)特定组件包括: @Component:基本注解,标识一个受spring管理的组件: @Respority:标识持久层组件: @Service:标识服务层(业务层)组件: @Controller:标识表现层组件: (3)对于扫描到的组件,spring有默认的命名规则:使用非限定类名.第一个字母小写,也可以在注解中通过value属性值标识组件的名称. (4)当在组件类上使用了特定的注解之后,还需要…