spring注解:@Repository dao层注解
@Service service层注解
@Controller web层注解
@Component 最早的注解,后来为了容易区分不同的层,而开发出上面三个注解,以上四个注解功能完全一样,都是
为了在spring容器中创建对象.代替了繁琐的XML配置
就相当于在XML中配置<bean name="" class=""></bean>的方式.
@Scope(scopeName="prototype")指定对象类型为多例,因为默认是singleton(单例)
多例用的是lazy创建模式,即spring容器启动的时候不创建,调用对象的时候创建bean对象,且每次调用都创建新的对象.
单例就是spring容器启动的时候就把对象自动创建出来,每次调用都是同一个对象.有点类似与单例模式中懒汉和恶汉的方式.
@Value 给基本类型对象注入值,可以加在私有属性上,也可以加在set方法上,但加在私有属性上,其实是破坏了面向对象的理念.
因为属性是私有的,对外暴露的只有set get方法,但是为了简便开发,很多时候都是加在属性上.两种方式都行,建议加到
set方法上,用法:@Value(name="tom") 也可简写成@Value("tom")
@Aotowired 自动装配,如果只有一个引用类型的对象,直接使用即可,但是如果有多个对象的话,需要配合@Qualifier(name="")来
指定具体哪一个bean对象,name=的是bean的名字
@Resource(name="")这个方式相当于上面@Autowired和@Qualifier两个注解. 具体用哪个?喜欢哪个用哪个!
@PostConstuct 指定容器启动对象创建之后的初始化方法.
@PreDestroy 在对象销毁,Spring容器关闭之前调用. 注:需单例模式
spring整合junit测试
传统的junit测试需要我们手动创建容器,如果需要调用多个类对象的话,测试代码比较繁琐,所以Spring对junit测试进行了整合,
我们新建测试方法的时候只需要在测试类上面加两个注解
@RunWith(SpringJUnit4ClassRunner.class) 注意括号内没有引号,这个注解的意思是帮我们创建容器
@ContextConfiguration("classpath:applicationContext.xml") 这个注解的意思是帮我们创建容器时,指定加载的XML配置文件
接下来的测试就能在测试类中正常使用spring容器里的任何对象了,
@Service service层注解
@Controller web层注解
@Component 最早的注解,后来为了容易区分不同的层,而开发出上面三个注解,以上四个注解功能完全一样,都是
为了在spring容器中创建对象.代替了繁琐的XML配置
就相当于在XML中配置<bean name="" class=""></bean>的方式.
@Scope(scopeName="prototype")指定对象类型为多例,因为默认是singleton(单例)
多例用的是lazy创建模式,即spring容器启动的时候不创建,调用对象的时候创建bean对象,且每次调用都创建新的对象.
单例就是spring容器启动的时候就把对象自动创建出来,每次调用都是同一个对象.有点类似与单例模式中懒汉和恶汉的方式.
@Value 给基本类型对象注入值,可以加在私有属性上,也可以加在set方法上,但加在私有属性上,其实是破坏了面向对象的理念.
因为属性是私有的,对外暴露的只有set get方法,但是为了简便开发,很多时候都是加在属性上.两种方式都行,建议加到
set方法上,用法:@Value(name="tom") 也可简写成@Value("tom")
@Aotowired 自动装配,如果只有一个引用类型的对象,直接使用即可,但是如果有多个对象的话,需要配合@Qualifier(name="")来
指定具体哪一个bean对象,name=的是bean的名字
@Resource(name="")这个方式相当于上面@Autowired和@Qualifier两个注解. 具体用哪个?喜欢哪个用哪个!
@PostConstuct 指定容器启动对象创建之后的初始化方法.
@PreDestroy 在对象销毁,Spring容器关闭之前调用. 注:需单例模式
spring整合junit测试
传统的junit测试需要我们手动创建容器,如果需要调用多个类对象的话,测试代码比较繁琐,所以Spring对junit测试进行了整合,
我们新建测试方法的时候只需要在测试类上面加两个注解
@RunWith(SpringJUnit4ClassRunner.class) 注意括号内没有引号,这个注解的意思是帮我们创建容器
@ContextConfiguration("classpath:applicationContext.xml") 这个注解的意思是帮我们创建容器时,指定加载的XML配置文件
接下来的测试就能在测试类中正常使用spring容器里的任何对象了,