# IOC
#####术语简单解释:Inversion of Control 控制反转. 指的是 对象的创建权反转(交给)给 Spring,从而实现高内聚低耦合
###配置文件方法:
1. xml文件对象创建方法`<bean id="" class=""></bean>`
2. 如果是有参构造,则写成:
`<bean id="" class="">
<property name="类中属性名" value=常量>
</bean> //注:此种方法必须保证类中相应属性有set方法`
3. 如果属性是对象,假设类a中有一个类b的对象则写成:`
<bean id="b" class=""></bean>
<bean id="a" class="">
<property name="类中属性吗" ref="b"><property>
<bean>`
###注解方式:
1. 在配置文件中开启注解扫描`
<context:component-scan base-package="com.itheima.spring.demo1"/>`
2. 在类前一行加上`@Component(value="")`或者Service
3. 在属性前一行加上`@Autowired`会根据属性类型自动注入,在属性前加`@Value{#[config["aaa"]]}`注入常量
#DI dependency injection
#AOP aspect oriented programing面向切面编程
#####其主要作用是在不修改源代码的前提下,动态地加代码切入到指定的类的指定方法的(前、后、两边)
###配置文件方式
1. 引入AOP约束,添加aspectJ包
2. 简单术语介绍:1.切入点 对那些方法增强功能 2. 切入面 使用什么代码增强其功能
3. 代码:
`<bean id = "myAspectXml" class="类路径"></bean>
<aop:config>
<aop:pointcut expression="* 路径.* (..)" id="pointcut1"/>
<aop:aspect ref="myAspectXml"> //加入的bean
<aop:before method="方法名" pointcut-ref="pointcut1"/>
</aop:aspect>
</aop:config>`
###注解方式
1. 在配置文件中开启aop注解扫描`
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>`
2. 通过添加注解@aspect,将一个类声明为一个切面
3. 将切面类中某方法声明为一个切入点,切入点名称即为方法名,并在注解中注明应用于那哪些方法@Pointcut("execution (* 类路径.*(..))")
4. 在切面类的其他方法可以用@After("切入点名") @Before("切入点名")的方式来声明什么时间什么方法来增强切入点
#####术语简单解释:Inversion of Control 控制反转. 指的是 对象的创建权反转(交给)给 Spring,从而实现高内聚低耦合
###配置文件方法:
1. xml文件对象创建方法`<bean id="" class=""></bean>`
2. 如果是有参构造,则写成:
`<bean id="" class="">
<property name="类中属性名" value=常量>
</bean> //注:此种方法必须保证类中相应属性有set方法`
3. 如果属性是对象,假设类a中有一个类b的对象则写成:`
<bean id="b" class=""></bean>
<bean id="a" class="">
<property name="类中属性吗" ref="b"><property>
<bean>`
###注解方式:
1. 在配置文件中开启注解扫描`
<context:component-scan base-package="com.itheima.spring.demo1"/>`
2. 在类前一行加上`@Component(value="")`或者Service
3. 在属性前一行加上`@Autowired`会根据属性类型自动注入,在属性前加`@Value{#[config["aaa"]]}`注入常量
#DI dependency injection
#AOP aspect oriented programing面向切面编程
#####其主要作用是在不修改源代码的前提下,动态地加代码切入到指定的类的指定方法的(前、后、两边)
###配置文件方式
1. 引入AOP约束,添加aspectJ包
2. 简单术语介绍:1.切入点 对那些方法增强功能 2. 切入面 使用什么代码增强其功能
3. 代码:
`<bean id = "myAspectXml" class="类路径"></bean>
<aop:config>
<aop:pointcut expression="* 路径.* (..)" id="pointcut1"/>
<aop:aspect ref="myAspectXml"> //加入的bean
<aop:before method="方法名" pointcut-ref="pointcut1"/>
</aop:aspect>
</aop:config>`
###注解方式
1. 在配置文件中开启aop注解扫描`
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>`
2. 通过添加注解@aspect,将一个类声明为一个切面
3. 将切面类中某方法声明为一个切入点,切入点名称即为方法名,并在注解中注明应用于那哪些方法@Pointcut("execution (* 类路径.*(..))")
4. 在切面类的其他方法可以用@After("切入点名") @Before("切入点名")的方式来声明什么时间什么方法来增强切入点