栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM: 常用注解 | 标签总结说明 (Spring、MyBatis、SpringMVC)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM: 常用注解 | 标签总结说明 (Spring、MyBatis、SpringMVC)

总结 二、Spring:IoC、AOP
  • spring.xml 标签配置:






  • 创建Bean的注解:

@Component  标记该类,spring配置文件中base-package 扫描后会创建对象并装配到IoC容器

@Controller  标记控制器组件(控制层),MVC中进行了相关判断,不能换

@Service  标记业务逻辑组件(业务逻辑层)

@Repository  标记持久化层组件(持久化、数据访问层)

@Configuration  说明这是一个配置类,要达到全注解开发还需要使用 @ComponentScan 

以上注解本质上相同,只是在@Component  基础上换了名字。提高了代码的可读性。 

  • 注入Bean的注解:

@Value  给基本类型的参数注入赋值,可以用在属性、set方法上

@Autowired  给引用类型参数注入赋值,可以用在属性、set、构造方法上

@Qualifier  指定Bean的name;不会单独使用,而是和@Autowired配合使用

  • 全注解开发:

@ComponentScan()  组件扫描,根据定义的扫描路径,把符合扫描规则的类装配到IoC容器中。

  • 整合Junit4:

@RunWith(SpringJUnit4ClassRunner.class)  指定Spring为Junit提供的运行器

@ContextConfiguration  指定Spring配置文件的位置

单个文件
@ContextConfiguration(locations = {"classpath:spring.xml"})
@ContextConfiguration("classpath:spring.xml") (locations{}也可省略)
@ContextConfiguration(classes = SimpleConfiguration.class)

多个文件
@ContextConfiguration(locations = {"classpath:spring.xml","classpath:spring2.xml"})
  • AOP 面向切面编程:声明切面类与通知方法

@Aspect  表示这个类是一个切面类

@Before(value)  前置通知方法

@AfterReturning(value)  返回通知方法

@AfterThrowing(value)  异常通知方法

@After(value)  后置通知方法

@Around(value):环绕通知方法 对应整个try...catch...finally结构,包括四种通知的所有功能。
需要在对应方法声明 ProceedingJoinPoint 类型的形参,proceed() 调用切入点的方法。

value()属性:指定切入点表达式,由切入点表达式控制当前通知方法要作用在哪一个目标方法上

    @Aspect//这是一个切面类
    public class LogAspect {
    //前置通知: 指定的方法在执行之前要做什么 (切入点,表达式)
    @Before("execution(* com.atguigu.service.impl.CalculatorImpl.*(..))")
    public void beforeLog(){
        System.out.println("[日志] xxx 方法开始执行,参数是:");
    }
  • 创建IOC容器对象

BeanFactory  IoC容器的基本实现类
ApplicationContext  BeanFactory 的子接口,更多功能。

ClassPathXmlApplicationContext  根据XML配置文件创建IoC容器对象

// ClassPathXmlApplicationContext根据XML配置文件创建IOC容器对象
private ApplicationContext iocContainer = new ClassPathXmlApplicationContext("applicationContext.xml");

AnnotationConfigApplicationContext  根据XML配置类创建IoC容器对象 (全注解开发)

​// AnnotationConfigApplicationContext根据配置类创建IOC容器对象
private ApplicationContext iocContainerAnnotation = new AnnotationConfigApplicationContext(MyConfiguration.class);

WebApplicationContext  Web项目 

  • 切入点表达式语法

execution (* com.atguigu...method(int i))

  • 重用切入点

@Pointcut ("execution(切入点表达式)")

需要使用在一个方法上,使用时直接传入该方法即可

  • 获取连接点信息

获取方法信息:通知方法加入形参JoinPoint joinPoint,方法内调用 getSignature()

获取方法返回值:@AfterReturning中通过 returning属性设置名称,通知方法中声明对应名称Object类型 形参

获取方法抛出异常:@AfterThrowing中声明 throwing 属性设定名称,通知方法中声明对应名称声明 Exception类型 形参

环绕通知:声明 ProceedingJoinPoint 类型的形参,里面包含各种方法,可通过proceed() 调用切入点的方法。

  • 多个切面优先级

@Order(int i)  数值越小越早执行

  • 声明式事物

@Transactional:对当前类所有方法、或当前方法应用事物

相关属性:

只读:readOnly = true 

超时:timeout = ?

回滚异常类型:rollbackFor = Exception.class  

事物隔离级别:Isolation

事物传播行为:propagation

  • 配置事物管理器、注解驱动:
    
    
        
    
    
	
		dispatcherServlet
		org.springframework.web.servlet.DispatcherServlet
		
            
			contextConfigLocation
			classpath:springmvc.xml
		
		
		1
	

    
	
		dispatcherServlet
		
		
        
		/
	
  • springmvc.xml配置 (SpringMVC配置文件)










  • 日志

@Slf4j  生成日志记录器

底层自动生成
private Logger logger = LoggerFactory.getLogger(HelloController.class)
  • 接收请求

@RequestMapping   接收所有请求

@GetMapping  只接收Get请求

@PostMapping  只接收POST请求

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号