1.掌握异常抛出增强、最终增强、环绕增强的使用方法
(1)异常抛出增强
<aop:config>
<aop:aspect ref="增强方法所在的Bean">
<aop:after-throwing method="增强处理方法"
pointcut-ref="切入点id" throwing="e" />
</aop:aspect>
</aop:config>
(2)最终增强
<aop:config>
<aop:aspect ref="增强方法所在的Bean">
<aop:after method="增强处理方法" pointcut-ref="切入点id" />
</aop:aspect>
</aop:config>
(3)环绕增强
<aop:config>
<aop:aspect ref="增强方法所在的Bean">
<aop:around method="增强处理方法" pointcut-ref="切入点id" />
</aop:aspect>
</aop:config>
2.命名空间注入
(1)在applicationContext.xml的头部里面加一句添加p命名空间的声明
xmlns:p="http://www.springframework.org/schema/p"
(2)使用属性而不是子元素的形式配置Bean的属性
<bean id="唯一标识" class="类的全路径"
p:"属性1"="注入的值" p:"属性2"="注入的值" />
<bean id="唯一标识" class="类的全路径"
p:属性-ref="注入的Bean" />
(3)测试类
@Test
public void textUser(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
User user1=(User) context.getBean("user");
System.out.println(user1.toString());
}
3.使用注解实现Spring IoC
(1)在applicationContext.xml开启注解扫描包
<!--注解扫描包 -->
<context:component-scan base-package="com.cskt.mapper,com.cskt.service"/>
注意:自己改一下路劲哦
(2) 在mapper 使用@Repostroy相当于在配置文件写了 配置bean,里面可以放一个名字@Repostroy("userMapper") 相当于id名字 如果不给就是类名名字 首字母小写
(3)在service @Service 相当于在配置写了配置bean
(4)在service 引入 自动装配
注意:测试类不变哦
4.注解方式将Bean的定义信息和Bean实现类结合在一起,Spring提供的注解有
@Component :实现 Bean 组件的定义@Repository :用于标注 DAO 类@Service :用于标注业务类@Controller :用于标注控制器类
5. 使用注解实现Spring AOP
去看上一篇小编写的spring里面有,要看的自己去上一篇翻
6.怎么用集合注入?
(1)创建一个java类里面放集合,记得封装
(2)在applicationContext.xml写
注意:自己改class路劲
<!--List集合-->
<bean id="userList" class="com.cskt.domain.UserList">
<property name="manList">
<list>
<value>哥哥好棒</value>
<value>哥哥好大</value>
<value>哥哥好快</value>
<value>哥哥好粗</value>
</list>
</property>
</bean>
<!--Set集合-->
<bean id="userSet" class="com.cskt.domain.UserList">
<property name="manSet">
<set>
<value>哥哥好棒</value>
<value>哥哥好大</value>
<value>哥哥好快</value>
<value>哥哥好粗</value>
</set>
</property>
</bean>
<!--Map集合-->
<bean id="userMap" class="com.cskt.domain.UserList">
<property name="manMap">
<map>
<entry key="one" value="哥哥好棒"/>
<entry key="two" value="哥哥好大"/>
<entry key="three" value="哥哥好快"/>
<entry key="fore" value="哥哥好粗"/>
</map>
</property>
</bean>
<!--Properties集合-->
<bean id="manProp" class="com.cskt.domain.UserList">
<property name="manProp">
<props>
<prop key="one">哥哥好棒</prop>
<prop key="two">哥哥好大</prop>
<prop key="three">哥哥好快</prop>
<prop key="fore">哥哥好粗</prop>
</props>
</property>
</bean>
(3)测试类
/**
* 集合
* List Map Set Properties
*/
@Test
public void userList(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
final UserList userList =(UserList) context.getBean("userList");
userList.getManList().stream().forEach(item->{
System.out.println(item);
});
}
@Test
public void userSet(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
final UserList userList =(UserList) context.getBean("userSet");
userList.getManSet().stream().forEach(item->{
System.out.println(item);
});
}
@Test
public void userMap(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
final UserList userList =(UserList) context.getBean("userMap");
userList.getManMap().forEach((k,v)->{
System.out.println(k+" : "+v);
});
}
@Test
public void manProp(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
final UserList userList =(UserList) context.getBean("manProp");
userList.getManProp().forEach((k,v)->{
System.out.println(k+" : "+v);
});
}
7.总结