注册bean:
@Component
在类的开头加上此注解,可以被spring容器识别,启动spring后,会自动转换成容器管理的bean。(默认名字首字母小写)
@Repository
用于对dao实现类进行注解
@Service
用于对业务层注解
@Controller
用于创建处理http请求的对象
@RestController
标识当前类方法返回值默认都转为json串。
@Configuration
定义一个Javaconfig配置类,相当于配置文件中的<beans/>,通过此来生成对象,使用AnnotationCofigApplicationContext(“.class”)来加载此配置类。
其他一些可能会用的注解:
@ComponentScan
自动扫描包等价于<context:component-scan base-package=”完整包名”>
@postconstruct
初始化方法的注解方式,等价于init-method=“init”
@predestroy
销毁方法的注解方式,等价于destroy-method=“destroy”
@value
可以实现为对象赋值,可以直接指定值,也可以从properties文件中获得。
方式一、XML文件
<context:property-placeholder location=”db.properties” ignore-unresoluable=”true”></ context:property-placeholder>
方式二、注解
@propertysource(“db.properties”)
方式三、其他方式
Propertyplaceholderconfigurer类:@value(“${}”)
propertiesFactoryBean:@value(‘#{}’)
@bean
相当于<bean/>,只能注解在方法和注解上,一般用在方法上使用。
@Target{ElementType.method,ElementType.annotation-type}
方法名相当于id。
@qualifier(“xxx”)
xxx是bean的名称,所以@autowired和qualifier结合使用,自动注入的策略就由bytype转变为byname。
@Autowired
用来装配bean,通过bytype方式来获取bean,可以写在字段或方法上(严格意义上依赖对象必须存在,如允许空值,则可在required属性设置为false)。
@RequestParam
用于将请求参数区数据映射到功能处理方法的参数上。
@PathVariable
将请求参数绑定在URL地址后面
@Cacheable
当标记在一个方法上时表示该方法是支持缓存的。
当标记在一个类上时则表示该类的所有方法都是支持缓存的。
@SessionAttributes
默认情况下spring MVC将模型中数据存储到request域中,当一个请求结束后,数据就失效了。如果要跨页面使用,那么需要使用到session,而@SessionAttrbutes注解就可以使得模型中的数据存储一份到session域中。
@RequestMapping
用于将URL映射到整个处理类或者特定的处理请求的方法。
@Transactional
事务的注解,可以添加在方法或者类上,一般注解在业务层。