Spring的入门学习笔记 (注解)
Spring的bean管理(注解)
注解
1.代码里面特殊标记(ep:@Test),使用注解完成一些相关功能
2.注解写法 @注解名称(属性名称=属性值)
3.可以用在类,方法,属性上都可以
4.Spring里替代部分配置文件,更方便
Spring注解开发的准备工作
导入
1.导入基本jar包
2.导入aop的jar包
创建类,创建方法
创建spring配置文件引入约束
1.做ioc基本功能,引入的约束bean
2.做spring的ioc注解开发,引入新的约束(context)
开始注解扫描
到包里面稻苗类,方法,属性上面是否有注解
<context:component-scan base-package= "创建类所在包的名字"></context:component-scan>
注解创建对象
再创建类上面加上注解即可实现
@Component(Value="user") //等同于<bean id = "user" class = "">
public class User{ public void add(){
system.out.println("add.........") }
}
测试代码如下
public class Test{
@Test
public void testUser(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
User user=(User) context.getBean("user");
System.out.println(user);
user.add();
}
}
输出了地址 还调用了add方法
创建对象有四个注解
1.Component
2.Controller web层
3.Service 业务层
4.Repository 持久层
其实功能方法都一样
注解注入属性
1.autowired
创建service类,创建dao类,在service里
@component(value="userservice")
public class UserService{
//得到dao的对象
@Autowried
private UserDao userDao;
//不需要写set方法 public void add{
system.out.println("add......");
userDao.add();
}
} @component(value="userdao")
public class UserDao{
public void add{
system.out.println("dao......");
}
}
测试
public class Test{
@Test
public void testService(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
User user=(UserService) context.getBean("userService");
userService.add();
}
}
2.@Resource(name= "对象名字")
@resource(name = "userDao")
private UserDao userDao;
注解方式创建dao的对象 value的值
配合文件和注解方式的混合使用
1.创建对象一般都用配置文件实现
2.注入属性用注解的方式来实现
Spring的入门学习笔记 (注解)的更多相关文章
- Spring的入门学习笔记 (AOP概念及操作+AspectJ)
AOP概念 1.aop:面向切面(方面)编程,扩展功能不通过源代码实现 2.采用横向抽取机制,取代了传统的纵向继承重复代码 AOP原理 假设现有 public class User{ //添加用户方法 ...
- Spring.Net 入门学习笔记-----one
一. 基本概念 Spring.Net是一个轻量级的控制反转(Ioc)和面向切面的(Aop)的容器框架: Ioc:控制反转:简单的说就是将创建对象的控制权转交给外部容器(IApplicationC ...
- 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)
[原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...
- dubbo入门学习笔记之入门demo(基于普通maven项目)
注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...
- spring cloud(学习笔记)高可用注册中心(Eureka)的实现(二)
绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限 ...
- Spring源码学习笔记9——构造器注入及其循环依赖
Spring源码学习笔记9--构造器注入及其循环依赖 一丶前言 前面我们分析了spring基于字段的和基于set方法注入的原理,但是没有分析第二常用的注入方式(构造器注入)(第一常用字段注入),并且在 ...
- Spring 源码学习笔记10——Spring AOP
Spring 源码学习笔记10--Spring AOP 参考书籍<Spring技术内幕>Spring AOP的实现章节 书有点老,但是里面一些概念还是总结比较到位 源码基于Spring-a ...
- Spring 源码学习笔记11——Spring事务
Spring 源码学习笔记11--Spring事务 Spring事务是基于Spring Aop的扩展 AOP的知识参见<Spring 源码学习笔记10--Spring AOP> 图片参考了 ...
- Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...
随机推荐
- html5自我总结
2017年7月30日 合抱之木,生于毫末.九层之台,起于累土.软件行业要熟记和训练的东西有很多,在此,写一下如何快速搭建html及自我见解(这里只介绍我自己用到的,还有部分存在但是用不到的就不讲解了) ...
- 正则去除html标签属性保留指定标签
/// <summary> /// 去除标签里面的属性保留IMG标签属性 /// </summary> /// <param name="strText&quo ...
- AD诊断命令
dcdiag repadmin /showrepl "启动从dc02到dc01的复制"cmd /c "repadmin /replicate dc02 dc01 dc=u ...
- a标签在实际工作中的应用
学习的时候,我们对a标签的认知: 1.href属性添加一个地址,可进行页面的跳转 2.用锚点,制作页面内跳转和跨页面跳转(之前有写过一篇关于锚点的随笔:http://www.cnblogs.com/q ...
- Centos如何通过yum安装php7
执行如下命令安装epel yum -y install epel-release 更换rpm源,请根据自己的centos版本选择相应的rpm源进行安装 Centos 5.X: rpm -Uvh ...
- vscode:配置git
1.下载git,并找到安装git的文件位置,并找到git文件夹下面的Bin文件夹 2.配置环境变量 位置:右击‘计算机’->属性->高级系统设置->环境变量 最后点击确定即可 ...
- July 19th 2017 Week 29th Wednesday
Rather than envy others, it is better to speed up their own pace. 与其羡慕他人,不如加快自己的脚步. The envy of othe ...
- February 15 2017 Week 7 Wednesday
Youth is not a time of life, it is a state of mind. 青春不是一段年华,而是一种心境. Likewise, maturity is not a tim ...
- hdu-1792 A New Change Problem---数论&剩余系
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1792 题目大意: 给定A和B,A和B互质,求最大不能组合数,和不能组合数的个数. 解题思路: 由于g ...
- 手把手教你自定义attr
最近在学习的过程中遇到了自定义的attr和自定义的style.因此各种百度,各种博客的学习,算是有了一个系统的了解.在这里记录下自己的收获. 一.为什么要使用自定义attr以及本文定位 在androi ...