Spring的IOC注解开发入门2
注解方式设置属性的值
在我们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的更多相关文章
- Spring的IOC注解开发入门1
基本知识点如下: 引入注解约束,配置组件扫描 类上的注解: @Conponent @Controller @Service @Repository 普通属性的注解 @value 对象属性的注解 ...
- Spring _day02_IoC注解开发入门
1.Spring IoC注解开发入门 1.1 注解开发案例: 创建项目所需要的jar,四个基本的包(beans core context expression ),以及两个日志记录的包,还要AOP的包 ...
- Spring笔记04_AOP注解开发_模板_事务
目录 1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 1.2 Spring的AOP的注解通知类型 1.2.1 @Before:前置通知 1.2.2 @A ...
- spring boot纯注解开发模板
简介 spring boot纯注解开发模板 创建项目 pom.xml导入所需依赖 点击查看源码 <dependencies> <dependency> <groupId& ...
- Spring框架 IOC注解
Spring框架的IOC之注解方式的快速入门 1. 步骤一:导入注解开发所有需要的jar包 * 引入IOC容器必须的6个jar包 * 多引入一个:Spring ...
- SpringMVC的注解开发入门
1.Spring MVC框架简介 支持REST风格的URL 添加更多注解,可完全注解驱动 引入HTTP输入输出转换器(HttpMessageConverter) 和数据转换.格式化.验证框架无缝集成 ...
- IOC注解开发与XML整合
区别: xml:可以适用于任何场景,结构清晰,方便维护 注解:开发方便,快速.有些地方适用不了,这个类不是自己提供的(比如源码提供的类) xml和注解整合开发,各取所长 xml使用于对bean进行管理 ...
- Spring笔记13--SSH--全注解开发
SSH全注解开发: (1) 在Action类中添加注解,实现Struts2的注解开发(@NameSpace.@ParentPackage.@Action...) package com.tongji. ...
- Spring MVC注解开发入门
注解式开发初步 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求.标识当前 ...
随机推荐
- backbond整体架构
(function(factory) { // 在这里是backbone模块化的一个接口.支持AMD,CMD和全局变量模式.代码很好理解. })(function(root, factory, _, ...
- Java编译与反编译
Javac是一种编译器,它的作用是将符合Java语言规范的源代码转化成符合Java虚拟机规范的Java字节码. 一.编译过程 词法分析:找出源代码中的所有关键字,生成Token流 语法分析:检查Tok ...
- 【转载】IIS报错不是有效的Win32应用程序
今天在IIS中部署ASP.NET网站后,访问网站报错,提示信息为:未能加载文件或程序集XXX.dll或它的某一个依赖项,不是有效的Win32应用程序(异常来至HRESULT:0x800700C1).通 ...
- C# Task用法
1.Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便.比如: ◆ ThreadPool不支持线程的取消.完成.失败通知等交互性 ...
- Packet for query is too large (12238 > 1024). You can change this value
MySQL max_allowed_packet 设置过小导致记录写入失败 mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参 ...
- mysql+ssl主从复制
一.作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中. (从服务器I/O thread会负责来读取master binary log, 然后写入自身rela ...
- .NET Framework 平台构造基础
CLR 公共语言运行库 执行给定编译代码单元所需的外部服务集合,它提供了一个定义明确的运行库层,可以被支持.NET的所有语言和平台所共享. 库 mscoree.dll:公共对象运行库执行引擎 当用户程 ...
- Java Cookie工具类
1.Cookie跨域 Cookie不能跨顶级域名访问,但是二级域名可以共享Cookie,所以要实现跨域,有一定的局限性. 2.代码 package com.DingYu.Cookie; import ...
- JS使用cookie实现只出现一次的广告代码效果
我们上网经常会遇到第一次需要登录而之后不用再登录的网站的情况,其实是运用了Cookie 存储 web 页面的用户信息,Cookie 以名/值对形式存储,当浏览器从服务器上请求 web 页面时, 属于该 ...
- Java多线程面试题整理
部分一:多线程部分: 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速. ...