一、 @Component

1.Component

    标记了注解, 默认的名称是:简单类名,首字母小写UserDaoImpl -> userDaoImplUserServiceImpl -> userServiceImplComponent可以使用value属性指定对象的名称,相当bean标签的id属性
Component注解有三个子注解(注意:Component注解和三个子注解作用一致)@Service: 业务层@Controller : 表现层@Repository: 持久层


Component可以使用value属性指定对象的名称,相当bean标签的id属性

测试类中

 <context:component-scan base-package="com.itheima"><!--include : 包含--><!--filter: 过滤--><!--<context:include-filter type="annotation" expression="org.springframework.stereotype.Service" ></context:include-filter>--><!--exclude: 排除--><!--<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"></context:exclude-filter>--></context:component-scan>

开启注入扫描, 指定扫描的包, 扫描 Component注解
base-package: 指定扫描的包, 扫描com.itheima 包及其子包

如果将数据源和注入分开 context 必须写在主中

2.Autowired: 自动装配

@Autowired: 自动装配
* 可以直接把容器中的对象注入到另外一个对象中
* 如果该接口有多个实现类, 需要指定对象的名称,如果不指定,会报错
*
* 如果没有指定名称,有多个实现类,根据属性名称在容器中查找

  • @Qualifier(“userDaoImpl2”): 可以指定对象在容器中的名称

    • 该注解必须结合Autowired进行使用
    • @Resource: 自动装配 --可以使用name属性指定对象在容器中的名称
    • @Autowired 和@Resource
    •  都是自动装配
      
    •  Autowired, 默认按照类型装配,如果类型有多个,则按照名称查找, 由spring提供
      
    •  @Resource:默认是按照名称装配,如果名称没有找到,则按照类型装配, 有Jdk提供
      

注解总结

a. Bean: 标记在方法上,作用:将方法返回值放到springIOC容器中,可以使用value属性指定对象的名称
该注解适合创建 引用(其他)类对象
与xml映射:
b. Value: 标记在属性上,作用:给简单类型的属性赋值
相当于xml的 value属性
c. 【重点】Component: 标记在类上,作用:创建该类的对象,放到springIOC容器中,可以使用value属性指定对象的名称
该注解适合创建自定义的类对象
子注解:@Service(用于业务层) @Repository(用于持久层), @Controller(用于表现层)的作用与@Component 一样

与xml映射: <bean id="" class="">

d. 【重点】Autowired: 标记在属性和set方法上, 可以没有set方法,作用:自动注入依赖的对象
Qualifier:标记在属性和set方法上, 作用:指定依赖对象的名称

e. Resource: 标记在属性和set方法上, 可以没有set方法,作用:自动注入依赖的对象
可以使用name属性指定依赖对象的名称
f. Autowired 和Resource对比
两个都是自动注入(自动装配)
Autowired:默认按照类型装配,如果类型有多个,按照指定的名称装配, 由spring提供
Resource: 默认按照指定的名称装配,如果没有找到名称,按照类型装配, 由jdk提供
g. @Import: 标记在配置类上,作用引入其他的配置文件(xml)
【重点】
h. @PropertySource :标记在类上,作用引入属性文件(properties)
【重点】xml 映射:<context:property-placeholder location=“classpath:db.properties”></context:property-placeholder>
i. Configuration:标记在类上,作用 代表该类为配置文件
j. ComponentScan:标记在类上,作用 扫描包,创建对象
【重点】<context:component-scan base-package=“com.itheima”></context:component-scan>
l. Scope: 指定对象的范围
m: 与生命周期相同的注解
@PostConstruct:对象初始化执行的方法
@PreDestory:对象销毁时执行的方法

Spring半注解半Xml相关推荐

  1. 【spring】让spring的注解和xml配置文件变得优雅,最常用的注解

    其实,对注解的使用,应该是:先用xml,对某个注解足够了解够,用上这个注解,省去部分xml.循序渐进,既少了xml配置文件的配置,也不失代码的可读性和对代码的理解. MD,刚刚服务器挂了,害我又写一遍 ...

  2. 2.3.2 spring属性注入-注解注入-半注解注入-后序

    代码: spring属性注入-注解注入-半注解后序.zip - 蓝奏云文件大小:15.2 K|https://www.lanzouw.com/iCjbVvpvxaf 上一个博客的半注解是,一个类在xm ...

  3. 2.3.1 spring属性注入-注解注入-半注解方式-前序

    注解注入自由度高,可以对部分类使用注解,也可以对所有类都使用注解. 下面代码是的Category使用xml定义java Bean, Product使用注解来定义java Bean 1.定义Catogo ...

  4. spring整合hibernate(注解、xml)applicationContext.xml配置

    每次ssh框架整合都很麻烦,今天有空余时间总结下(主要总结spring+hibernate): 1.注解方式整合: applicationContext.xml配置文件: <?xml versi ...

  5. Spring原始注解和新注解(使用注解代替xml配置文件)

    Spring原始注解 spring的原始注解主要是为了替代xml文件中配置的 < bean > @Component:使用在类上用于实例化Bean @Controller:使用在web层类 ...

  6. Spring获取JavaBean的xml形式和注解形式

    Spring获取JavaBean的xml形式和注解形式 文章目录 一.用xml文件方式管理JavaBean 1. 创建一个xml配置文件 2. 将一个Bean交由spring创建并管理 3. 获取Sp ...

  7. 6.dubbo常用的xml配置有哪些_【面试篇】必须掌握的Spring 常用注解

    阅读文本大概需要5分钟. 注解本身没有功能的,就和 xml 一样.注解和 xml 都是一种元数据,元数据即解释数据的数据,这就是所谓配置. 本文主要罗列 Spring|Spring MVC相关注解的简 ...

  8. spring中的注解和xml配置文件中配置对应总结

    spring中的注解和xml配置文件中配置对应 需要导入的jar spring-context spring-context-support spring-test commons-logging b ...

  9. 用小说的形式讲解Spring(3) —— xml、注解和Java Config到底选哪个

    本文发布于专栏Effective Java,如果您觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给您身边的工程师同学. 本集概要: 为什么说xml配置是类型不安全的配置方式? 如何使用 ...

最新文章

  1. 移动互联网漫谈(3)
  2. NSMakeRange基础函数应用
  3. (004) java后台开发之Eclipse(Neon) 版本安装Java EE插件
  4. 第四范式冲刺IPO:4年亏13亿收入逐年翻番,研发工资人均2万
  5. DATE_FORMAT(date,format)
  6. python的总结与心得词云设计理念_Python编程语言:使用词云来表示学习和工作报告的主题...
  7. java ref 应用类型_Java四种引用类型
  8. 【codevs2301】【BZOJ2186】沙拉公主的困惑,数论练习之逆元与φ
  9. RequestDispatcher对象的应用-请求包含
  10. position:absolute的小坑
  11. android list 替换元素_Java学习之List集合
  12. Vue-动态组件和插槽
  13. 2018.12.13 区块链论文翻译
  14. matlab 有限元分析与应用,matlab有限元分析与应用(书及源程序)
  15. 数学建模更新10(蒙特卡罗模拟)
  16. TEX studio:IEEE latex模板的下载与使用
  17. Pickers应用程序
  18. 基于Android的医院挂号系统设计与实现(MySQL+Spring Boot+MyBatis+Android Studio+IDEA)
  19. RxJava操作符(四)Combining
  20. 小程序底部兼容iphoneX

热门文章

  1. 可变lambda_Lambda的Lambda(如果可选)
  2. stateless_Spring Stateless State Security第3部分:JWT +社会认证
  3. ejb构建_如何使用单例EJB,Ehcache和MBean构建和清除参考数据缓存
  4. java ee基础知识_Java EE:基础知识
  5. 尽可能地做到无服务器,但不止于此
  6. 截至频率_截至2013年核心Java帖子
  7. apache camel_探索Apache Camel Core –文件组件
  8. 简单的测试可以防止最严重的故障
  9. cpu 抖动_微抖动,繁忙的等待和绑定CPU
  10. java java编码_Java编码约定被认为是有害的