博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring学习笔记之依赖的注解(2)
阅读量:6338 次
发布时间:2019-06-22

本文共 2520 字,大约阅读时间需要 8 分钟。

Spring学习笔记之依赖的注解(2)

1.0 注解,不能单独存在,是Java中的一种类型
1.1 写注解
1.2 注解反射
2.0 spring的注解
spring的
@Controller@Component@Service//更多典型化注解,但是@Controller@Service建议使用
@service(“personService”)可以代替set get 方法,@Resource(name=personDao)
@Autowired//按照类型匹配
@Qualifier(“student”)两者结合相当于id匹配
相当于java的@Resource(name=”student”)
3.0 DI(依赖注入)的注解@Resource、@PostConstruct
applicationContext.xml

Person.java

public class Person {
/** * @Autowired @Qualifier("student") == @Resource(name="student") */ @Resource(name="student") private Student student; @PostConstruct //在构造器之后 public void init(){ System.out.println("init"); } @PreDestroy //在spring容器销毁之前 public void destroy(){ } public void say(){ this.student.say(); }}

Student.java

public class Student {
public void say(){
System.out.println(“student”);
}
}

PersonTest.java

public class PersonTest {
/** * 1、启动spring容器 * 2、把spring配置文件中的bean实例化(person,student) * 3、当spring容器解析配置文件 *
* spring容器会在纳入spring管理的bean的范围内查找哪些类的属性上是否加有@Resource注解 * 4、如果在属性上找到@Resource注解 * 如果@Resource的注解的name属性的值为"" * 则把@Resource所在的属性的名称和spring容器中的id作匹配 * 如果匹配成功,则赋值 * 如果匹配不成功,则会按照类型进行匹配 * 如果匹配成功,则赋值,匹配不成功,报错 * 如果@Resource的注解的name属性的值不为"" * 则解析@Resource注解name属性的值,把值和spring容器中的ID进行匹配 * 如果匹配成功,则赋值 * 如果匹配不成功,则报错 * * 说明: * 注解代码越来越简单,效率越来越低 * 注解只能应用于引用类型 */ @Test public void testDIAnnotation(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Person person = (Person)context.getBean("person"); person.say(); }}
4.0 scan-类扫描的注解(减少配置代码,却降低了性能)    4.1 配置文件    

5.0 小结

1、IOC把一个类放到容器里边,spring容器给他创建对象    1.1 spring创建对象的三种方式        1 默认构造函数 2.静态工程3.实例工程        默认情况下把一个类放到spring容器里面,默认是单例。        什么时候创建单例对象?            默认情况下spring容器启动时候创建单例对象。            但是把lazy-init="true"的话,是在contextgetbean时候才创建对象。            如果scope="property"即多例,在contextgetbean时候才创建对象。        初始化(init,只需要在配置文件中init-method,spring容器在调用完构造器立即自动调用)        销毁(destroy,在spring容器销毁时候才内部调用)    2、DI给属性赋值        2.1赋值方法        利用set方法可以给属性赋值还可以利用构造器,也可以用注解。进行注入。        基本属性、引用类型、集合进行装配。        @Resource用于给一个属性进行注入。        类扫描

6.0 spring注解的继承

xml的继承需要,parent:spring容器中的继承
而注解的继承配置文件不需要parent。

转载地址:http://xxooa.baihongyu.com/

你可能感兴趣的文章
Android Picasso
查看>>
top命令
查看>>
javascript的作用域
查看>>
新形势下初创B2B行业网站如何经营
查看>>
初心大陆-----python宝典 第五章之列表
查看>>
java基础学习2
查看>>
sysbench使用笔记
查看>>
有关电子商务信息的介绍
查看>>
NFC·(近距离无线通讯技术)
查看>>
多线程基础(三)NSThread基础
查看>>
PHP的学习--Traits新特性
查看>>
ubuntu下,py2,py3共存,/usr/bin/python: No module named virtualenvwrapper错误解决方法
查看>>
Ext.form.field.Number numberfield
查看>>
Linux文件夹分析
查看>>
解决部分月份绩效无法显示的问题:timestamp\union al\autocommit等的用法
查看>>
nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转
查看>>
man openstack >>1.txt
查看>>
linux几大服务器版本大比拼
查看>>
在BT5系统中安装postgresQL
查看>>
【Magedu】Week01
查看>>