conroller注解与RestController注解、Component注解、Interrupt方法

Controller和RestController的区别

Controller:标识一个Spring类是Spring MVC controller处理器,可以直接跳转到jsp、ftl、html等模板页面。在方法上加入responseBody注解,也可以返回实体对象
Restcontroller: 是Controller与ResponseBody的结合体,所有方法只能返回String、Object、Json等实体对象,不能跳转到模板页面(除非使用ModelAndView)
@RestController
public class UserController {

@RequestMapping(value = "/index",method = RequestMethod.GET)
public String toIndex(){
    ModelAndView mv = new ModelAndView("index");
  	return mv;    
}

}

spring注解@service(“service”)括号中的service有什么用

service 是有用的相当于 xml配置中得bean id = service 也可以不指定 不指定相当于 bean id = com. service.service 就是这个类的全限定名,表示给当前类命名一个别名,方便注入到其他需要用到的类中;不加的话,默认别名就是当前类名,但是首字母小写 。

@component

(把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类
下面写这个是引入component的扫描组件

<context:component-scan base-package=”com.mmnc”>

其中base-package为需要扫描的包(含所有子包)

   1、@Service用于标注业务层组件 
   2、@Controller用于标注控制层组件(如struts中的action) 
   3、@Repository用于标注数据访问组件,即DAO组件. 
   4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。    
         @Service public class UserServiceImpl implements UserService { }      

        @Repository public class UserDaoImpl implements UserDao { } getBean的默认名称是类名(头字母小写),如果想自定义,可以@Service(“***”)               这样来指定,这种bean默认是单例的,如果想改变,可以使用@Service(“beanName”) 

       @Scope(“prototype”)来改变。可以使用以下方式指定初始化方法和销毁方法(方法名任意): @PostConstruct public void init() { }

java的中断是一种协作机制。调用线程对象的interrupt方法并不一定就中断了正在运行的线程,它只是要求线程自己在合适的时机中断自己。每个线程都有一个boolean的中断状态(这个状态不在Thread的属性上),interrupt方法仅仅只是将该状态置为true。

interrupt()	中断线程,将会设置该线程的中断状态位,即设置为true
isInterrupted()	判断某个线程是否已被发送过中断请求
interrupted()	判断某个线程是否已被发送过中断请求,并且将中断状态重新置为false
中断分析

如果一个线程处于了阻塞状态(如线程调用了thread.sleep、thread.wait、I/O操作方法等进入阻塞状态),则在线程检查中断标示时如果发现中断标示为true,则会在这些阻塞方法(sleep、wait、I/O 操作方法)调用处抛出InterruptedException异常,并且在抛出异常后立即将线程的中断标示位清除,即重新设置为false。抛出异常是为了线程从阻塞状态醒过来,并在结束线程前让程序员有足够的时间来处理中断请求

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值