SSM框架--注解

  @Controller
@Service
                @Autowired
               @RequestMapping
               @RequestParam
       @ModelAttribute
       @SessionAttributes
@Resource(name="dataSource")
@repository --注册bean

  
  
我们在没有用注解写spring配置文件的时候,会在spring配置文件中定义Dao层的bean,
这样我们在service层中,写setDao方法,就可以直接通过接口调用Dao层,
用了注解写法后,在配置文件中不用再写Dao层的bean,
只需要在Dao实现类中加入
@Repository 
public Class TestDaoImpl(){}


在service层定义 
@Autowired 
private TestDao testDao;
不需要再写setDao方法就可以通过接口调用Dao了 


在Service层加入
@service
public Class TestService(){}
就可以调用service层 


在Action层加入
@Controller
public Class TestAction(){}
就不需要在配置文件中定义action的bean


@requestMapping是spring-mvc的东西,
以前我们用struts2, 需要配置文件定义 action的名字,
在浏览器中写 XXX.do才能访问action的方法


使用了srping-mvc后,在action的方法中加入
@controller
public class TestAction(){
     @requestMapping("XXX.do")
     public String findAll(){
        .................    
    }
}
这样,就不需要struts了,直接在浏览器中输入XXX.do就可以访问findAll方法了




1.@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
2.@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。
 6、@requestParam
@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter("name"),它有三个常用参数:defaultValue = "0", required = false, value = "isApp";defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。


7、@ResponseBody
作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。


使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;


8、@Component
相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议。


9、@Repository
用于注解dao层,在daoImpl类上面注解。




INSERT INTO
    Student_Table(STU_ID,STU_NAME)

select #{item.account},#{item.name} 
  from dual
  WHERE NOT EXISTS
              ( SELECT * FROM Student_Table WHERE STU_ID=#{item.account} )


---------------------------------------------- 





---------------------------------------------- 





   
   
   
   
   





       
       
       
       
       
       
       
       
       
       






---------------------------------------------- 








---------------------------------------------- 


@Intercepts({
@Signature(type = Executor.class, method = "update", args = {
MappedStatement.class, Object.class }),
@Signature(type = Executor.class, method = "query", args = {
MappedStatement.class, Object.class, RowBounds.class,
ResultHandler.class }) })


-----------------------------------------------------



你可能感兴趣的:(项目学习)