spring学习

一、spring
1、Spring是一个大容器,目的是为了简化开发流程
2、spring的两大特性:控制反转(Inversion of Control,IOC)、面向切面(AOP)

二、了解IOC
应用程序中如何使用对象?
1、由应用程序本省来创建(new)出对象;
2、由外部容器创建对象并注入应用程序,即创建对象的控制权由应用程序转为外部容器(Spring),即IOC
3、IOC的核心:依赖注入(Dependency Injection)

三、Spring 框架的简单搭建
1、引入所需的JAR包
2、创建Spring 配置文件
3、在配置文件中管理Bean对象
4、在应用程序中获取Bean对象并使用
AbstractApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
ac.getBean("beanId");

五、Spring Bean对象声明周期
1、Singleton(默认):单例模式,每次调用Bean都是同一个对象
2、prototype:原型模式,每次调用Bean都会实例化新的Bean对象
3、request session application(在web中,跟随ServletAPI对象的生命周期来创建Bean对象)
4、在applicationContext.xml中bean标签中用scope属性设置生命周期

六、Spring中在Bean中注入属性
1、普通属性注入
2、自定义Bean注入
3、在applicationContext.XML中创建要被注入的类对应bean
4、在要注入的Bean中加入<property name="userInfoDao" ref="userInfoDao"></property>来进行属性注入

七、Spring 中采用注解方式进行Bean注入
1、采用注解方式,需要修改xml头文件如下:
2、<!--使Spring支持注解-->
<context:annotation-config />
3、@Resource(name="beanId")

八、Spring自动扫描并管理bean
1、原理:开启自动扫描的spring框架可以在指定的包下自动寻找标记为
@Component @Service @Controller @Repository的类
并将这些类作为Bean纳入Spring容器进行管理
解释:
@Controller:控制层组件(struts2中action,或servlet)
@Service:服务层组件(如service实现层)
@Repository:数据访问层组件(JDBC、DAO实现层)
@Component:其他组件(不属于上述类别的组件)
2、在applicationContext.cml中加入
<!--Spring自动扫描指定包下Bean-->
<context:component-scan bese-package="cn.com.cxsw.dao.impl" />
3、用注解的方式指定组件的beanId、生命周期、初始化和销毁方法
九、面向切面
代理模式实现横向的切面编程
1、请求---->代理对象----->实际调用的对象
十、面向切面配置
1、头文件的修改
2、添加aop支持
<!--使SPRING容器支持Aspect注解 自动代理模式的AOP-->
<aop:aspectj-autoproxy/>
3、注解式AOP配置
1、创建需要拦截的Bean以及方法,
2、创建切面类,并采用@Aspect注解标记该类为一个切面类
3、创建切入点,并指定切面拦截的类和方法
@pointcut("execution(* cn.com.wxy.service.impl.*.*(..))")
private void logPoint(){}
4、创建切面通知方法
1、@Before("logPoint() && args(user)")//前置通知
2、@AfterReturning(pointcut="logPoint()",returning="result")//后置通知
3、@After("logPoint()")//后置通知
4、@Around("logPoint()")//环绕通知 注意:需要传递ProceedingJoinPoint参数
5、将该切面Bean交给Spring管理
spring配置文件Aop配置
<!--使spring容器支持Aspect注解 自动代理模式的AOP-->
<aop:aspectj-autoproxy/>
<!--管理切面BEAN-->
<bean id="" class=""/>

<aop:config>
<aop:aspect id="" ref="">

</aop:aspect>
</aop:config>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值