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 id="InsertStudent" flushCache="true" parameterType="java.util.List">
INSERT INTO
    Student_Table(STU_ID,STU_NAME)
<foreach collection="list" item="item" index="index" open="(" close=")" separator="UNION" >
select #{item.account},#{item.name} 
  from dual
  WHERE NOT EXISTS
              ( SELECT * FROM Student_Table WHERE STU_ID=#{item.account} )
</foreach>
</insert>
---------------------------------------------- 




<select id="GetCompanyByDirectNOT" resultType="com.neuedu.beans.Company" parameterType="int">
SELECT COMP_ID as compID, COMPANY_NAME as compName
FROM COMPANY_TABLE
WHERE   DIRECT_ID =#{item}
</select>
---------------------------------------------- 


<resultMap id="userResult" type="com.neuedu.beans.User">
<id column="ACCOUNT" property="account"></id>
<result column="PASSWORD" property="password"></result>
    <result column="PLAYROLE" property="role"></result>
    <result column="QQ" property="qq"></result>
    <result column="PHONE" property="phone"></result>
    <result column="EMAIL" property="email"></result>
    <result column="ID_CARD" property="idCard"></result>
</resultMap>


<resultMap type="com.neuedu.beans.CompanyAll" id="companyInfo">
<id property="companyid" column="comp_id"/>
        <result property="companyname" column="company_name"/>
        <result property="description" column="comp_desc"/>
        <result property="qualification" column="comp_qualification"/>
        <result property="direction" column="direct_name"/>
        <result property="address" column="company_address"/>
        <result property="name" column="name"/>
        <result property="phone" column="phone"/>
        <result property="qq" column="qq"/>
        <result property="email" column="email"/>
        <result property="result" column="result"/>
</resultMap>
<select id="getCompanyInfo" resultMap="companyInfo" parameterType="com.neuedu.beans.CompanyAll">
SELECT 
*
FROM
user_table a,company_table b,direction_table c
WHERE
a.account=b.company_account AND b.direct_id=c.direct_id AND b.comp_id=#{companyid}
</select>




---------------------------------------------- 
<resultMap id="showStudentInformation" type="com.neuedu.beans.Student">
<id column="STU_ID" property="stuID"></id>
<result column="STU_NAME" property="stuName"></result>
<association property="profession"  column="PRO_ID"  javaType="com.neuedu.beans.Profession" >
<id column="PRO_ID" property="proID"></id>
<result column="PRO_NAME" property="proName"></result>
</association>
</resultMap>
---------------------------------------------- 


@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 }) })


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



  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值