注解方式设置属性的值

在我们IOC基于xml属性注入的方式中有(一般推荐set方法)

  构造方法注入普通值:<constructor-arg>的使用

  set方法注入普通值:<property>的使用   注入对象值:ref的使用

  SPEL方式注入普通值与对象值 #{SPEL}

  P名称空间方式注入普通值与对象值

在我们IOC基于注解方式开发中

  • 普通属性:Value
  • 对象属性:AutoWired :设置对象类型的属性的值,按照类型注入。习惯是按照名称完成属性注入,那么和以下注解配合使用@Qualifier(value="userDao2222")
  • 实际开发中:@Resource : 完成对象类型的属性注入,按照名称注入

  可以没有set方法,如果没有提供set方法,就把注解加在属性上,否则就set方法上

package spring.day2.demo1;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; @Component("userDao") // 相当于<bean id="userDao" class="spring.day2.demo1.UserDaoImp1">
public class UserDaoImp1 implements UserDao {
//@Value("张三")
private String name; @Value("李四")
public void setName(String name) {
this.name = name;
} @Override
public void save() {
System.out.println("userdao的save方法已经执行......."+name);
} }

注解详解

@Component:组件,目前与其衍生注解是一样的,推荐使用衍生注解,使其结构更加清晰。

  修饰一个类,将这个类交给spring管理,其衍生注解如下:

  @Controller:web层

  @Service:service层

  @Repository:dao层

属性注入的注解

 普通属性:@Value()

 对象属性:@Autowired设置对象类型的属性的值,按照类型注入。习惯是按照名称来进行注入,所以与@Qualifier(value="userDao2222")一起使用完成按名称注入

 实际开发中:使用@Resource(name="")来完成按名称注入对象类型,但是@Resource(name="")不是Spring框架下的,是实现javax.annotation.Resource的规范

Bean的生命周期注解(了解)

  @PostConstruct 初始化   相当于xml中的init-method

  @PreDestroy     销毁  相当于xml中的destroy-method

Bean的作用范围注解

  @Scope("")

  双引号里面可以填

  • singleton  单例
  • prototype  多例
  • request
  • session
  • globalsession

  

 

Spring的IOC注解开发入门2的更多相关文章

  1. Spring的IOC注解开发入门1

    基本知识点如下: 引入注解约束,配置组件扫描 类上的注解: @Conponent  @Controller @Service @Repository 普通属性的注解   @value 对象属性的注解  ...

  2. Spring _day02_IoC注解开发入门

    1.Spring IoC注解开发入门 1.1 注解开发案例: 创建项目所需要的jar,四个基本的包(beans core context expression ),以及两个日志记录的包,还要AOP的包 ...

  3. Spring笔记04_AOP注解开发_模板_事务

    目录 1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 1.2 Spring的AOP的注解通知类型 1.2.1 @Before:前置通知 1.2.2 @A ...

  4. spring boot纯注解开发模板

    简介 spring boot纯注解开发模板 创建项目 pom.xml导入所需依赖 点击查看源码 <dependencies> <dependency> <groupId& ...

  5. Spring框架 IOC注解

    Spring框架的IOC之注解方式的快速入门        1. 步骤一:导入注解开发所有需要的jar包        * 引入IOC容器必须的6个jar包        * 多引入一个:Spring ...

  6. SpringMVC的注解开发入门

    1.Spring MVC框架简介 支持REST风格的URL 添加更多注解,可完全注解驱动 引入HTTP输入输出转换器(HttpMessageConverter) 和数据转换.格式化.验证框架无缝集成 ...

  7. IOC注解开发与XML整合

    区别: xml:可以适用于任何场景,结构清晰,方便维护 注解:开发方便,快速.有些地方适用不了,这个类不是自己提供的(比如源码提供的类) xml和注解整合开发,各取所长 xml使用于对bean进行管理 ...

  8. Spring笔记13--SSH--全注解开发

    SSH全注解开发: (1) 在Action类中添加注解,实现Struts2的注解开发(@NameSpace.@ParentPackage.@Action...) package com.tongji. ...

  9. Spring MVC注解开发入门

    注解式开发初步 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求.标识当前 ...

随机推荐

  1. MVC5 Controller构造方法获取User为空解决方法

    用如下方法获取UserId报空引用异常 public class BaseController : Controller { protected SiteContext db = new SiteCo ...

  2. .Net Core 读取配置文件 appsettings.json

    1. 首先些一个类 public class MySettings { public string P1 { get; set; } public string P2 { get; set; } } ...

  3. [MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段

    sql注入后可以通过该数据库获取所有表的字段信息 1. COLLATIONS表 提供有关每个字符集的排序规则的信息. COLLATIONS表包含以下列: COLLATION_NAME 排序规则名称. ...

  4. [android] sharedPreference入门

    /********************2016年5月6日 更新**************************************/ 知乎:Android 如何实现判断用户首次使用,比如首 ...

  5. Netty实战七之EventLoop和线程模型

    简单地说,线程模型指定了操作系统.编程语言.框架或者应用程序的上下文中的线程管理的关键方面.Netty的线程模型强大但又易用,并且和Netty的一贯宗旨一样,旨在简化你的应用程序代码,同时最大限度地提 ...

  6. Java细节整理——数组与内存控制

    重点:使用Java数组之前,必须对数组对象进行初始化. 当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组的初始化完成.程序以后将不能重新改变数组对象在内存中的位置和大小. 知识点整理: ...

  7. 当前主流电脑的BIOS调出键

    [组装电脑主板] 主板品牌  启动按键 华硕主板  F8 技嘉主板  F12 微星主板  F11 映泰主板  F9 梅捷主板  ESC或F12 七彩虹主板  ESC或F11 华擎主板  F11 斯巴达 ...

  8. Chrome开发者工具Debug入门

    译者按: 手把手教你摆脱console.log,掌握高级的debug方法. 原文: Learn How To Debug JavaScript with Chrome DevTools 译者: Fun ...

  9. laravel compact的用法

    向视图中传递变量 我们在开发web应用当中,通常都不是为了写静态页面而生的,我们需要跟数据打交道,那么这个时候,问题就来了,在一个MVC的框架中,怎么将数据传给视图呢?比如我们要在 ArticleCo ...

  10. Python入门基础之函数、切片

    Python之函数 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. Python之调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需 ...