spring

来源:互联网 发布:网络墨迹是什么意思 编辑:程序博客网 时间:2024/05/06 11:20
IOC(控制反转)/DI依赖注入
注入/注解

spring是一个IOC容器
a)实例化具体的bean
b)动态配置

AOP支持(原理:动态代理)
a)安全检查
b)管理事务(transaction)

2.注入类型
a)setter(常用)
b)构造方法(不常用)
c)接口注入(基本不用)

自动装配
a)byName
b)byType

生命周期(life-style):
a)lazy-int
b)init-method、 destroy-method:不要和prototype一起用

bean中的scope范围:
a)singleton单例,使用同一个对象
b)proptotype:每次创建新的对象

spring MVC

scope作用域
singleton(默认):无论拿到多少bean,都是同一个
prototype:原型,每次拿,重新new一个
request(web):
session(web)
golbal session(web)

集合注入


JCP:java community process(组织):定义java标准
JSR:java标准



Annotation第一步:
修改XML文档,参考文档<context:annotation-config />

@Autowired
a)默认按类型type
b)如果想按照名称来转配注入,则需要结合@Qualifier
c)写在private field(第三种注入形式):不建议,破坏封装
d)如果写在set上,@Qualifier需要写在参数上


@Resourse(重要):byType
spring2.5提供了基于注解(Annotation-based)的配置,我们可以通过注解的方式来完成注入依赖。在Java代码中可以使用 @Resource或者@Autowired注解方式来经行注入。虽然@Resource和@Autowired都可以来完成注入依赖,但它们之间是有区 别的。

 a) @Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;
 b) @Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;
 c) @Resource注解是又J2EE提供,而@Autowired是由Spring提供,故减少系统对spring的依赖建议使用  
       @Resource的方式;
d @Resource和@Autowired都可以书写标注在字段或者该字段的setter方法之上

@Component组件,@Repository数据仓库,@Service服务层,@Controller控制层这四个注解spring2.5没有区别
components:组件
bean.xml
<context:component-scan base-package="">(扫描指定的包)
@component(value="u")找到指定的component:初始化,value可以省略,初始化的名字默认类名首字母小写
@component("userService")找到service
@Resource(name="u"):找到service下指定的内容


JDK_Proxy_InvacationHandler:jdk动态代理

AOP:

AspectJ:一个面向切面的框架,专门做动态代理



























0 0
原创粉丝点击