ssm和ssh常用注解


Spring

(常用注解):
@Conponate 泛指组件,当组件部好归类的时候,我呢吧可以使用这个注解对该类进行标注,但不推荐使用。
@Controller 对控制层的Bean,也就是Action。标记在一个类上。
@Service 对应业务层的Bean,可以加入名字如@Service(“userService”)。当Action需要使用该业务层的实例时,只需要在Action中声名一个同名的变量来接收该对象(由Spring创建并注入)即可(配合@Resource注解)。标记在一个类上。

@Service("userService")
public class UserServiceImpl implements UserService {...}

// 注入userService
@Resource(name = "userService")
private UserService userService;

@Repository 对应数据访问层的Bean,用法同@Service。当Service需要使用该数据访问层的实例时,只需要声名一个同名变量来接收该对象(由Spring创建注入)即可(配合@Resource注解)。标记在一个类上。

@Repository(value="userDao")
public class UserDaoImpl extends BaseDaoImpl<User> {...}

//注入userDao
@Resource(name = "userDao")
private BaseDao<User> userDao;

@Autowired 一般用于消除setter、getter 方法。Spring会将这些传递过来的值或者引用自动分配给那些属性。可以对类成员变量、方法及构造函数进行标注。@Autowired(required==false)表示依赖不是必须的,当没有找到相应bean 的时候可以为null。他是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier。

@Inject 类似于@Autowired,不同的是@Autowired有一个required属性。是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Named。

@Value 可简化读取properties文件中的配置值。

@AspectJ 他标记在一个类上声名切面。Spring默认不支持@AspectJ风格的切面声名,为了支持需要使用如下配置:

<!-- proxy-target-class 默认为false,表示使用jdk动态代理织入增强,当配为<aop:aspectj-autoproxy poxy-target-class="true"/>时,表示使用CGLib动态代理技术织入增强 -->
<aop:aspectj-autoproxy/>

@Pointcut @Pointcut(“execution(返回类型 方法所属类的全限定名.方法(参数))”)注解在新写的方法前来定义切点。

@Before 在切点之前执行。

@AfterReturning 在切点执行成功之后执行。

@After 在切点之后执行。

@AfterThrowing 在切点抛出异常后执行。

@Aspect
public class WQF{
 
@Pointcut("execution(* *.perform(..))")
public void performance(){}
 
@Before("performance()")
public void beforeMethod(){}
 
@AfterReturning("performance()")
public void afterReturingMethod(){}
 
@After("performance()")
public void afterMethod(){}
 
@AfterThrowing("performance()")
public void afterThrowingMethod(){}
 
}

SpringMVC

@Controller 使用@Controller标记一个类是Controller,然后使用@RequestMapping和@RequestParam等一些注解用以定义URL请求和Controller方法之间的映射,这样的Controller就被外界访问到了。之后把这个控制器类交给Spring来管理。
有两种方法:

<!--方式一 在SpringMVC 的配置文件中定义bean 对象-->
<bean class="org.wqf.controller.Controller"/>
<!--方式二 在SpringMVC 的配置文件中告诉Spring 该到哪里去找标记为@Controller 的Controller 控制器-->
<context:component-scan base-package = "org.wqf.controller" />

@RequestMapping 使用@RequestMapping 注解的方法才是真正处理请求的处理器。可用于类或方法上。常用的属性有value和method。

value:     指定请求的实际地址,指定的地址可以是URI Template 模式;
method:    指定请求的method类型, GET、POST、PUT、DELETE等;
produces:   指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;比如:produces = {"application/json;charset=UTF-8"})
 
例如: 用于类上的 @RequestMapping("/seckill") 表示指定的请求地址为 localhost:8080/seckill/...。
      用于方法上的 @RequestMapping(value = "/{seckillId}/detail", method = RequestMethod.GET) 表示指定请求地址为 localhost:8080/seckill/1000/detail 时由该方法来处理。

@RequestParam @RequestParam主要用于在SpringMVC后台控制层获取参数,类似一种request.getParameter(“name”)。
@Resource和@Autowired都是做bean的注入时使用:

  • @Resource Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。

  • @Autowired @Autowired为Spring提供的注解需要打入包org.springframework.beans.factory.annotation.Autowired;只按照byType注入。

  • @PathVariable 可以用来映射URL中的占位符到目标法发的参数中。
    比如:

    @RequestMapping(value = “/{seckillId}/detail”, method = RequestMethod.GET)
    public String detail(@PathVariable(“seckillId”) Long seckillId, Model model) {
    …… ……
    }

  • @CookieValue 用来获取Cookie中的值,将变量与指定value参数名称绑定。value:参数名称;required:是否必须;defaultValue:默认值。
    比如:

    public SeckillResult execute(@PathVariable(“seckillId”) Long seckillId,
    @PathVariable(“md5”) String md5,
    @CookieValue(value = “userPhone”, required = false) Long phone) {//将cookie变量userPhone与phone绑定
    …… ……
    }

  • @SessionAttributes

  • @ModelAttributes

  • @ResponseBody 作用是将controller的方法返回的对象直接写入HTTP response body中。通常用来返回JSON数据或者是XML数据。常和@RequestMapping一起使用。

Hibernate:

  • @Entity
  • @Table
  • @Id
  • @Column
  • @GeneratedValue
  • @OneToOne
  • @OneToMany
  • @JoinColumn
  • @LazyCollection

Struts2

  • @Action/@Actions
  • @Result/@Results
  • @Scope
  • @ParenPackage
  • @Namespace
  • @Resource

Mybatis

  • @Insert
  • @Delete
  • @Update
  • @Select
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值