Spring 常用注解

来源:互联网 发布:2015酒店行业数据 编辑:程序博客网 时间:2024/06/18 07:56

1、@controller[kən'trəʊlə] 控制器(注入服务)

2、@service 服务(注入dao)

3、@repository dao(实现dao访问)

4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)

  @Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。 
下面写这个是引入component的扫描组件 
<context:component-scan base-package=”com.mmnc”>    

其中base-package为需要扫描的包(含所有子包) 
       1、@Service用于标注业务层组件 
       2、@Controller用于标注控制层组件(如struts中的action) 
       3、@Repository [rɪ'pɑzə'tɔri] 用于标注数据访问组件,即DAO组件. 
       4、@Component[kəm'ponənt]泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。    
           @Service

public class UserServiceImpl implements UserService { } 
           @Repository

public class UserDaoImpl implements UserDao { } getBean的默认名称是类名(头字母小写),如果想自定义,可以@Service(“***”) 这样来指定,这种bean默认是单例的,如果想改变,可以使用@Service(“beanName”) 
           @Scope(“prototype”)来改变。可以使用以下方式指定初始化方法和销毁方法(方法名任意):

@PostConstruct

public void init() { } 

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestParam添加到方法的形参前面

当传入的参数和实际参数不一致时,使用@RequestParam注解

即使一样,也要使用@RequestParam注解(Java反射机制缺陷,形参的的信息可能读不出来)

@RequestMapping:向页面传值

@RequestMapping("/login4.do")

private String login4(AdminParamap,

HttpServletRequest request) {

System.out.println("login4()");

String adminCode=ap.getAdminCode();

System.out.println(adminCode);

//将数据绑定到请求对象request,springmvc默认转发到index.jsp

request.setAttribute("adminCode",adminCode);

return  "index";

@ModelAndView向页面传值得第二种方式(不太好用)

(将数据项封装到ModelAndView对象里面,然后将对象作为方法的返回值)

//向页面传值第二种方式,ModelAndView对象

@RequestMapping("/login5.do")

public ModelAndView login5(AdminParamap){

System.out.println("login5()");

String adminCode=ap.getAdminCode();

System.out.println(adminCode);

Map<String, Object> data=new HashMap<String, Object>();

//相对于request.setAttribute("adminCode",adminCode)

data.put("adminCode",adminCode);

//构造ModelAndView对象

ModelAndView mav=new ModelAndView("index",data);

return mav;

 

@ModelMap****)

(将该对象作为方法的参数,然后将数据绑定到该对象)

向页面传参第三种方式

//向页面传值的第三种方式

//使用ModelMap对象

//相对于request.setAttribute...

@RequestMapping("/login6.do")

public String login6(AdminParamap,

ModelMap mm){

System.out.println("login6()");

String adminCode=ap.getAdminCode();

System.out.println(adminCode);

mm.addAttribute("adminCode",adminCode);

return "index";

}