springAop原理代理模式 1:Targetjava
註解的種類: @resource(爲成員變量注入值)web
@compant @service @respority @controller 四個特性是同樣的spring
<context:component-scan base-package="com.shuiming"></context:component-scan> 做用1:掃描全部的bean 等價於<bean id="xxxx" class="xxxxxx"> 2:爲全部的Bean的成員變量注入值. @Component(value="clinic") public class Clinic { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }app
}ui
關鍵代碼this
package com.shuiming.controller;spa
import javax.annotation.Resource;代理
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.stereotype.Repository; import org.springframework.ui.Model; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;component
import com.shuiming.bean.Clinic; import com.shuiming.service.BussinessService; @RestController @RequestMapping("spring") public class SpringMvcDispatcher { private BussinessService bussiness; /@Autowired/ @Resource(name="clinic") private Clinic clinic; /* @RequestMapping(method = RequestMethod.POST) public void welcomeHandler(@RequestParam String name,@RequestParam String password) { System.out.println(bussiness); System.out.println(name); System.out.println(password); } / @RequestMapping(method = RequestMethod.POST) public String welcomeHandler(@ModelAttribute("clinic") Clinic clinic) { / System.out.println(bussiness); */ System.out.println(clinic.getName()); return "welcome"; }圖片
/@RequestMapping("/vets") public ModelMap vetsHandler() { return new ModelMap(this.clinic.getVets()); }/
}