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