spring笔记2-注解

Posted 胡广勤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring笔记2-注解相关的知识,希望对你有一定的参考价值。

一.属性与成员变量的区别:
属性:对外暴露的,getxxx/setxxx称为属性;
成员变量:private String name称为成员变量或字段

二.applicationContext.xml的书写
<!--约束-->
<beans xmlns:context="
http://www.springframework.org/schema/context"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/context
                     http://www.springframework.org/schema/context/spring-context-4.2.xsd
                     http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
</beans>                   

<!--在spring的配置文件中开启spring对注解ioc的支持,指定spring初始化时要扫描的包—>
<context:component-scan base-package="com.itheima"></context:component-scan>

<!--读取数据库配置文件—>
<context:property-placeholder location="classpath:db.properties"/>
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
     <property name="driverClass" value="${jdbc.driverClass}"></property>
     <property name="jdbcUrl" value="${jdbc.url}"></property>
     <property name="user" value="${jdbc.user}"></property>
     <property name="password" value="${jdbc.password}"></property>
</bean>


三.注解释义
@component:把资源让spring来管理。相当于在xml中配置一个bean。如果不指定value属性,默认bean的id是当前类的类名。首字母小写。      
@Controller:一般用于表现层的注解。
@Service:一般用于业务层的注解
@Repository :一般用于持久层的注解
细节:如果注解中有且只有一个属性要赋值时,且名称是value,value在赋值是可以不写。

@Autowired:
作用:自动按照类型注入。
当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容器查找,找到了也可以注入成功。找不到就报错。

@Qualifier:在自动按照类型注入的基础之上,再按照Bean的id注入。它在给字段注入时不能独立使用,必须和@Autowire一起使用;但是给方法参数注入时,可以独立使用。

@Resource:直接按照Bean的id注入。它也只能注入其他bean类型。

@Value:注入基本数据类型和String类型数据的

@Scope:指定bean的作用范围。value:指定范围的值。取值:singleton  prototype request session globalsession

@PostConstruct:用于指定初始化方法。

@PreDestroy:用于指定销毁方法

@Configuration:用于指定当前类是一个配置类,会从该类上加载注解。读取该类上@ ComponentScan注解初始化spring容器。

@ComponentScan:用于指定spring在初始化容器时要扫描的包,(xml中需要basePackages属性,用于指定要扫描的包)。和该注解中的value属性作用一样。

@PropertySource:用于加载.properties文件中的配置,value[]:用于指定properties文件位置。如果是在类路径下,需要写上classpath:

@Import:用于导入其他配置类,value[]:用于指定其他配置类的字节码。

@Bean:该注解只能写在方法上,表明使用此方法创建一个对象,并且交给spring管理。name:给当前@Bean注解方法创建的对象指定一个名称(即bean的id)。

@RunWith注解替换原有运行器;@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration指定spring配置文件的位置;@ContextConfiguration(locations={"classpath:bean.xml"})

























以上是关于spring笔记2-注解的主要内容,如果未能解决你的问题,请参考以下文章

spring笔记day-3

Spring框架学习笔记 --- [在spring中初步上手使用注解开发;以及JDBC的初步使用]

Spring 注解版 学习笔记AnnotationConfigApplicationContext

Spring笔记--注解方式实现AOP

Spring学习笔记6:注解开发

spring框架学习笔记3:使用注解代替配置文件