1、创建对象的注解
含义:使用注解的形式创建对象,交给Spring容器管理(需要配置在类上)
@Component:组件
@Controller:web层
@Service:service层
@Repository:Dao层
   默认:创建对象的唯一标识,当前类名首字母小写
   value属性:指定创建对象的唯一标识
举例:
//1、使用@Component创建对象,唯一标识为:account。以下两种任选其一,其中value可以指定唯一标识。
//@Component
@Component(value="account")
public class Account{}
//2、使用@Controller创建对象,唯一标识为:account。以下两种任选其一,其中value可以指定唯一标识。
//@Controller
@Controller(value="account")
public class Account{}
//3、使用@Service创建对象,唯一标识为:accountServiceImpl。以下两种任选其一,其中value可以指定唯一标识。
//@Service
@Service(value="accountServiceImpl")
public class AccountServiceImpl{}
//4、使用@Repository创建对象,唯一标识为:accountDaoImpl。以下两种任选其一,其中value可以指定唯一标识。
//@Repository
@Repository(value="accountDaoImpl")
public class AccountDaoImpl{}

2、依赖注入的注解(可以理解为注入类中的属性)
@AutoWired:
   默认:
    1、按照类型(接口)从容器中查找对象,并注入。
    2、按照属性名作为唯一标识从容器中查找对象,并注入。
举例:
public class AccountDaoImpl{
    @AutoWired
    private QueryRunner qr;
}
@Qulifier:配合@AutoWired一起使用配置到属性上
    按照指定的唯一标识从容器中查找对象,并注入
    value:唯一标识
举例:
public class AccountDaoImpl{
    @AutoWired
    @Qualifier(value="queryRunner2")
    private QueryRunner qr;
}
@Resource:JDK提供的依赖注入的注解(按照指定唯一标识从容器中查找对象,并注入)
    name属性:唯一标识
举例:
public class AccountDaoImpl{
    @Resource(name="queryRunner")
    private QueryRunner qr;
}
注意:1、@Resource是JDK提供的注解,且并不是所有的JDK版本都支持
      2、@Resource可以完全取代@AutoWired+@Qulifier
@Value:注入被Spring管理的properties文件中的内容
使用properties之前需要在bean.xml中解析
<!-- 解析properties文件 -->
<bean id="propertySource" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
    <!-- set方式注入properties文件的路径
        location:注入单个properties路径
        locations:注入多个properties路径
    -->
    <!-- <properties name="location" classpath="jdbc.properties"></properties> -->
    <property name="locations">
        <array>
            <value>classpath:jdbc.properties</value>
        </array>
    </property>
</bean>

3、声明周期相关的注解
@Scope:指定创建对象的作用域(作用范围)
   value:singleton:默认,单例 || prototype:多例
@PostConstruct:指定初始化方法(对象创建之后立即执行的方法)
@PreDestory:指定销毁方法(仅单例对象有效),容器关闭,对象销毁执行的方法
举例
//默认的,可以的不写
@Repository(value="accountDao")
@Scope("singleton")
public class AccountDao{

@PostConstruct
    public void init(){
        System.out.println("创建对象之后执行的方法");
    }

@PreDestory
    public void destory(){
        System.out.println("销毁之前执行的方法");
    }
}

4、纯注解编程
目的:替换xml配置文件
实现:需要将spring的配置信息,配置到类:配置类
@Configruation:声明配置类
@ComponentScan:指定包扫描
    basePackage:包名
@PropertySource:将properties配置文件交给speing容器管理
    value:接受String类型数据(配置多个文件)
举例:
//1、声明配置类
//2、开启包扫描
//3、将propertirs文件交给spring容器管理
@Configuration
@ComponentScan(basePackage="cn.wzq")
@PropertySource(value="classpath:jdbc.properties")
public class SpringConfig{}

@Bean:配置到方法上,表明此方法的返回值交给sring容器管理
举例:
pubic class JdbcConfig{
    @Bean(name="dataSource")
    public DataSource getDataSource(){
        ComboPooledDataSource ds=new ComboPooledDataSource();
        ds.setUser("root");
        ds.setPassword("root");
        ds.setJdbcUel("jdbc:mysql:///speingdb");
        ds.setDriverClass("com.mysql.jdbc.Driver");
        return ds;
    }

@Bean(name="queryRunner")
    public QueryRunner getQueryRunner(DataSource dataSource){
        QueryRunner qr=new QueryRunner(dataSource);
        return qr;
    }
}

spring的IOC注解相关推荐

  1. Spring学习:Spring的IOC注解

    文章目录 一.简介 二.IOC注解 (一)常用的注解 (二)扫描包 (三)数据装配 三.生命周期 四.Bean实例化的时机 五.Bean在IOC容器中单例和多例 六.SpringIOC注解完整示例代码 ...

  2. Spring框架----Spring常用IOC注解的分类

    学习基于注解的IOC配置,我们应该知道,注解配置和xml配置要实现的功能都是一样的,都是要降低程序的耦合,只是配置的形式不一样, 关于实际的开发中到底是使用xml还是注解,每家公司有着不同的使用习惯, ...

  3. Spring中IOC注解开发;xml中常用字符转译

    目录 1.Spring注解主要用来替xml配置文件: 2.xml中特殊符号转译: 1.Spring注解主要用来替xml配置文件: /*spring原始注解主要代替<Bean>的配置 * * ...

  4. Spring IOC注解开发

    Spring IOC注解开发 @(Spring)[Spring, ioc, 注解] Spring IOC注解开发 Spring的IOC的注解使用步骤 创建项目引入jar包 引入配置文件 创建相关包和类 ...

  5. .Net转Java自学之路—Spring框架篇二(IOC注解、AOP)

    Spring的Bean操作(注解方式): 注解:代码中特殊的标记,使用注解可以完成相关功能. @注解名称(属性名称=属性值) 注解可以使用在类.方法.属性上面. 主要用途:可以替代配置文件来创建对象和 ...

  6. Spring Ioc注解式开发中注解的作用

    Spring Ioc注解式开发中注解的作用 目标:本章节注重于Spring Ioc的注解式开发之中注解的作用. 基于注解的DI实现IOC 1.定义bean而注解 a.@Component @Repos ...

  7. 从源码深处体验Spring核心技术--基于注解的IOC初始化

    Annotation 的前世今生 从 Spring2.0 以后的版本中,Spring 也引入了基于注解(Annotation)方式的配置,注解(Annotation)是 JDK1.5 中引入的一个新特 ...

  8. java day58【 案例:使用 spring 的 IoC 的实现账户的 CRUD 、 基于注解的 IOC 配置 、 Spring 整合 Junit[掌握] 】...

    第1章 案例:使用 spring 的 IoC 的实现账户的 CRUD 1.1 需求和技术要求 1.1.1 需求 1.1.2 技术要求 1.2 环境搭建 1.2.1 拷贝 jar 包 1.2.2 创建数 ...

  9. 【Spring】IOC:基于注解的IOC容器初始化源码分析

    从 Spring2.0 以后的版本中,Spring 也引入了基于注解(Annotation)方式的配置,注解(Annotation)是 JDK1.5 中引入的一个新特性,用于简化 Bean 的配置,可 ...

最新文章

  1. javascript中最最最常用的方法封装
  2. php判断访客语言,php实现获取及设置用户访问页面语言类
  3. 安装Zabbix过程中出现的问题集
  4. Java基础笔记 – 枚举类型的使用介绍和静态导入
  5. LeetCode234题:回文链表
  6. Python程序-打印单词的菱形字符图案
  7. mysql 5.7 slow_mysql 5.7 解决 set global slow_query_log=on;报错
  8. Spring Boot + WebMagic 实现网页爬虫,写得太好了!
  9. 为什么游戏加速器都会设置韩国节点
  10. linux检测不到声卡设备,解决 Deepin V20、Ubuntu 20.04、Linux Mint 20 声卡无法识别导致的没有声音...
  11. PS 批处理切图去空白
  12. matlab绘画复指数函数,MATLAB | 绘制复指数函数 y = exp(j*w*n)的三维图像
  13. 领导周末喊程序员修错误,程序员霸气回应:在下卖艺不是卖身!
  14. 安装html5 win7,win7官方正版64位系统安装教程
  15. 小程序实现canvas添加图文
  16. [SSM框架]—Mybatis入门
  17. [ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式)
  18. 关于MacPorts
  19. 戴尔710服务器硬盘灯,DELL R710服务器,做RAID5,更换一个硬盘后硬盘灯,黄灯和绿灯交替不断亮??急急求助...
  20. AE钢笔工具 贝塞尔曲线 变 直线

热门文章

  1. ROS环境下跑orb-slam2 单目相机
  2. mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案
  3. 4pam调制与解调(matlab实现)
  4. mysql求表中年龄同张三,mysql子查询与连接查询
  5. PostgreSQL增强版命令行客户端(pgcli)
  6. 微信小程序----全局变量
  7. 用计算器计算“异或CRC”
  8. Javascript 检测 页面是否在iframe中
  9. 求解哈夫曼编码Java实现,用Java实现哈夫曼编码解决方法
  10. mysql linux文件_MySQL在Linux系统下配置文件详解