TZ_05_Spring_annotation常见注解
Spring常用的注解大全和解释
注解 | 解释 |
---|---|
@Controller | 组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。 |
@Service | 组合注解(组合了@Component注解),应用在service层(业务逻辑层) |
@Reponsitory | 组合注解(组合了@Component注解),应用在dao层(数据访问层) |
@Component | 表示一个带注释的类是一个“组件”,成为Spring管理的Bean。当使用基于注解的配置和类路径扫描时,这些类被视为自动检测的候选对象。同时@Component还是一个元注解。 |
@Autowired | Spring提供的工具(由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)自动注入。) |
@Resource | 直接按照bean的id注入,可以独立使用 |
@Value | 值得注入。经常与Sping EL表达式语言一起使用,注入普通字符,系统属性,表达式运算结果,其他Bean的属性,文件内容,网址请求内容,配置文件属性值等等 |
@QualiFier | 再按照@Autowired注入的基础上再按照名称注入。他在给类成员注入时不能单独使用,必须配合@Autowired使用,但是可以单独给方法参数使用 |
@ComponentScan | 自动扫描指定包下所有使用@Service,@Component,@Controller,@Repository的类并注册 |
@Bean | 用于把当前方法的返回值作为bean对象存入spring的ioc容器中取去 |
@Scope | Spring创建实例的模式(默认为单例)value属性值常用:singleton prototype |
@Configuration | 作用:表明这个类是一个配置类 获取核心配置文件 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfigguration.class); |
@Import | 作用:导入其他配置文件 value=类的字节码对象。当我们使用@Import直接之后,该类就是主类,导入的都是子类 |
@PropertySource | 作用:用于指定properties文件的位置 属性:value指定文件名和路径 关键字:classpath表示类路径下 |
Spring整合Junit |
1.Junit程序的人口是@Test方法他继承了main方法 2.Junit中无法使用注解 在创建Junit时无法创建Spring容器 解决思路: 1.导入Spring整合Junit的jar包 spring-test @RunWith(SpringJUnit4ClassRunner.class) 版本要求 Spring5.x及以上 junit4.12及以上 |
Spring基于AOP注解的配置 | |
@Pointcut |
配置切点位置 @Pointcut("execution(* com.hdh.service.impl.*.*(..))") @Before("pt1()") //前置通知 @AfterReturning("pt1()") //后置通知 @AfterThrowing("pt1()")//异常通知 @After("pt1()")//最终通知 ApplicationContext.xml配置 <!--配置Spring创建容器时要扫描的包 --> |
/**
* set注入方式
* <bean id="accountService" class="com.hdh.service.impl" scope="" init-method=
* "" destory-method=""> <property name="" value="" | ref=""></property> </bean>
*
* 用于创建对象的 他们的作用就和在xml配置文件中编写一个<bean>标签是一样的
*
* @Componcet :用于把当前类对象放入spring容器中 属性:value:用于指定bean的id。不写时默认是当前类名加上首字母小写
*
* @Controller:表现层
* @Service:业务层
* @Repository:持久层 以上三个注解他们的作用和属性与Componcet一摸一样 他们三个是Spring框架为我们明确提供为三层使用的
*
*
* 由于数据注入
* @Autowired
* 作用:自动将IOC容器中的类型相同的bean注入。
* 如果IOC容器中没有一个与之类型相同则报错,如果有多个
* 出现位置:一般出现在方法和变量上
* @QualiFier
* 作用:再按照类中注入的基础上再按照名称注入。他在给类成员注入时不能单独使用,但是可以单独给方法参数使用
*
* @Resource
* 作用:直接按照bean的id进行注入。可设置name属性
*
* @Value
* 作用:注入基本类型和String类型
* 属性:value,用于指定的数据值。它可以使用spring中的sqEL
* sqEL写法${表达式}
* @Scope
* 作用:指定bean的作用范围
* 属性:value取值:singleton prototype 默认是singleton单例
*
* @PostConstruct
* 作用:指定初始化方法
* @PreDestory
* 作用:指定销毁方法
*
*/ @Component("as") // 只有一个属性且是value时可以不写
public class AccountServiceImpl implements AccountService {
//@Autowired
//@Qualifier(value="accountDaoImpl")
@Resource(name="accountDaoImpl")
private AccountDao accountDao; public void saveAccount() {
accountDao.saveAccount();
}
}
TZ_05_Spring_annotation常见注解的更多相关文章
- 小记----------lombok插件idea的安装&常见注解解释及小案例
Lombok安装插件 软件:idea 2018.3.6版本 1.打开settings
- java 日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解
项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强.编写起来又特别麻烦. 本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 特性 基于注解的日志脱敏. 可 ...
- Java日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解
项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强.编写起来又特别麻烦. 本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 特性 基于注解的日志脱敏. 可 ...
- Java注解【二、Java中的常见注解】
JDK自带注解 @Override 重写 @Deprecated 已过期 @Suppvisewarnings 压制警告 Demo: public interface Person { public S ...
- SpringBoot常见注解
0.前言 这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot 来开发项目基本没 ...
- springmvc常见注解模式
常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping ...
- SpringMVC常见注解
@RequestParam( value="name", require=false ) String wrap 参数绑定:require=false 表示前端对 name 这个 ...
- SpringBoot中常见注解含义总结
@RestController @RestController被称为一个构造型(stereotype)注解.它为阅读代码的开发人员提供建议.对于Spring,该类扮演了一个特殊角色.它继承自@Cont ...
- Spring Boot 项目中常见注解
@Autowired 自动导入依赖的 Bean.byType方式.把配置好的 Bean拿来用,完成属性.方法的组装,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作 import org ...
随机推荐
- Pthread spinlock自旋锁
锁机制(lock) 是多线程编程中最常用的同步机制,用来对多线程间共享的临界区(Critical Section) 进行保护. Pthreads提供了多种锁机制,常见的有:1) Mutex(互斥量): ...
- 洛谷P2325 [SCOI2005]王室联邦
P2325 [SCOI2005]王室联邦 题目描述 "余"人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成员来管理. 他的国家有n个城市, ...
- 查看java资源的占用
1,使用命令top -p <pid> ,显示你的java进程的内存情况,pid是你的java进程号,比如1232,按H,获取每个线程的内存情况3,找到内存和cpu占用最高的线程pid,比如 ...
- openssl操作公私钥和加解密的一些常用命令
生成公私钥实践: 生成私钥,这里以椭圆曲线secp256k1为例: openssl ecparam -name secp256k1 -genkey -out secp256k1-priv.pem #带 ...
- [JZOJ3187]【GDOI2013模拟8】的士
题目 描述 题目大意 在一个数轴上,有些人要从某个点到达另一个点. 出租车从最左端出发,将所有人送到它们的目的地,最终到达最右边的点. 出租车只能做一个乘客,并且可以在图中将乘客丢下. 问最短时间. ...
- duilib教程之duilib入门简明教程1.前言
关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘述.下面进入正题: 不看广告看疗效! 已有众多知名公司采用duilib做为界面库,如华为网盘.PPS(P ...
- @Component 和 @Bean 的区别
Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean.完成这两个动作有三种方式,一种是使用自动配置的方式.一种是使用JavaConfig的方式,一种就是使用XML配置的方 ...
- c语言学习笔记 - 结构体位域
在学习结构体的时候遇到了位域这个概念,位域主要是为了节省内存空间,比如用一个32位,4个字节的int存储一个开关变量时,会造成空间浪费,于是干脆就考虑在这个32划分不同的区域来存储数据,例如划出1位存 ...
- 【JEECG-Boot 技术文档】新手入门教程
Jeecg-Boot入门教程必看(新手学习) 1.开发环境搭建 http://jeecg-boot.mydoc.io/?t=345670 开发工具 :https://pan.baidu.com/sha ...
- WhaleCTF之web-本地登录
WhaleCTF之web-本地登录 前往题目 呵呵,基然对ip限制,没事,掏出burp抓包 改包 添加XFF头部 X-Forwarded-For: 127.0.0.1 发一下 不是admin,没有用户 ...