个人学习-java-spring
来源:互联网 发布:金尚网上商城项目源码 编辑:程序博客网 时间:2024/05/22 00:07
通过注解的方式配置bean
@Componet 基本标识的注解.受spring管理的组件
@Respository: 持久层的组件.
@Service: 业务层的组件
@Controller : 表现层的组件
在Spring中,需要加上context的声明,并且配置<context:component-scan base-packge='类路径'>
base-packge指扫面某个路径下所有的类包包括子类的包
resource-pattern 指的是 过滤某个路径下的特定的类 写法:"xxx/*class" 意思是基于base-packge路径下的 xxx特定的包名内所有的类
<context:include-filter> 表示子节点要包含的目标类 使用时候要注意.<context:component-scan>中要设置use-default-filter配合使用设置为true
<context:exclude-filter> 表示子节点要排除在外的目标类
bean之间的关联关系处理
比如说controller下的会存在有service的类的引用 并且调用service中的方法
在service中引用持久层 Repository
这里的关联关系是不完善的在spring中
(带有@Autowired ,@Resource,@Inject 会自动装配)
1.需要在引用其他的类的上方加上@Autowired 会自动装上兼容类型的bean类
2.如果引用的bean不加载到ioc容器内,那么就不能自动装配
就是该bean的上方没有加入
@Componet
@Respository:
@Service:
@Controller :
那么就是没有加载到ioc容器内,
所以不能互相引用 如果某个bea没有加入ioc容器中,但是在bean中已经引用该类,可以设置@Autowired(required=false) 这样也不会加载到类中
3.如果某个bean 要装载的类存在多个适配的情况的话(某一个接口被多个类引用)
第一种方式:需要在@Respository的类 或者其他中加入@Respository("名字")之中的名字和@service中的方法的名字属性一样就行
第二种方式: 不在类的上方写入与属性名相同名字.而是在指定的方法上面写入@service中的@Autowired引用的方法下方@Qualifier("xxxx"); xxxx代表的是引用的bean的名字
@Qualifier("xxxx")也可以加入到参数列表中public void setxxx(@Qualifier("xxxx") xxx xxxx)这种形式
- 个人学习-java-spring
- 个人学习-java-spring-aop
- 个人角度学习spring mvc
- spring mvc个人学习笔记
- java学习个人心得
- 个人学习Java心得!
- 个人学习-java-数据类型
- 个人学习-java-session
- 个人学习-java-equals()
- 个人学习-java-.isEmpty()
- 个人学习-java-枚举
- 个人学习-java-多线程
- 个人学习-java-反射
- 个人学习-java-springmvc
- 个人学习-java-事
- JAVA个人学习路线
- 个人学习-java-jdbc学习
- spring 配置文件详解-个人学习笔记
- jQuery初认识
- 8086汇编语言 为什么AX,BX,CX,DX寄存器可以分为双八位独立寄存器
- 拓展最小公倍数
- 笔记:vs使用cmake自动添加opencv和boost(MFC使用cmake建立工程)
- Intent-filter属性详解
- 个人学习-java-spring
- spring简介及配置
- websphere 6.1迁移至tomcat 6.0
- Python jiba 分词
- C#桌面办公应用-工资管理系统系列九
- 通过adb pull和adb push 手机与电脑之间传输文件
- Servlet、Struts1、Struts2线程安全
- 关于Linux下的chown、chgrp、chmod命令的使用权限
- 消防站