xmlns:context=http://www.springframework.org/schema/context
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
?并且需要加入標簽開啟該注解
成都創新互聯"三網合一"的企業建站思路。企業可建設擁有電腦版、微信版、手機版的企業網站。實現跨屏營銷,產品發布一步更新,電腦網絡+移動網絡一網打盡,滿足企業的營銷需求!成都創新互聯具備承接各種類型的網站設計制作、成都網站制作項目的能力。經過十多年的努力的開拓,為不同行業的企事業單位提供了優質的服務,并獲得了客戶的一致好評。
<context:annotation-config/>
或指定要掃描的包,包下的注解就會生效
<context:component-scan base-package="com.kuang.pojo"/>
?最終xml代碼
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
@Autowired 自動裝配,優先匹配類型,后名字
@Qualifier(value = "xxx")可指定自動裝配的id
@Resource(name = "xxx") 自動裝配,優先名字,后類型,也可指定名稱
@Nullable 該注解后的參數可為空
@Component 組件,放在類上,說明該類被spring管理了,就是bean
mvc三層架構:
dao:@Repository
service:@Service
Controller:@Controller
功能一樣,都是將該類注冊到spring中,裝配bean
該注解需配合<context:component-scan base-package="com.kuang.dao"/>掃包進行使用
任需ClassPathXmlApplicationContext,無法脫離配置文件
@Value("xxx")該注解用于給屬性進行注入,也能夠直接注入與set方法中
@Scope("xxx")該注解指定對應類的作用域,是單例模式或原型模式或其它
lombok包下的快速生成實體類對象的注解{
@NoArgsConstructor快速創建無參構造
@AllArgsConstructor 快速創建有參構造
@Data 快速創建get,set
}
??spring4之后要使用注解必須導入aop包,若發現注解無效,可查看是否導入該包
@Configuration:將類指定為spring配置類
@Bean:指定該方法為xml中相當于<bean> 需返回一個實體類
@ComponentScan("xxxx"):使該配置類只掃描到指定的包下
@Import({xxx.class}):合并多個配置類
@RequestMapping("/xxx"):該注解可映射一個訪問路徑,在單個方法上時直接訪問 http://localhost:8080/xxx
在類上時訪問需加上類的訪問路徑 http://localhost:8080/類上的映射名/xxx
在返回單純的數據時,它可以進行亂碼解析
@RequestMapping(value = "/sda",produces = "application/json;charset=utf-8")
@PathVariable
加在參數前,可定義為路徑變量
package com.kuang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class RestfulTest {
@RequestMapping("restful")
public String restful(int a, int b, Model model){
int c = a+b;
model.addAttribute("msg",c);
return "hello";
}
}
package com.kuang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class RestfulTest {
@RequestMapping("/restful/{a}/{b}")
public String restful(@PathVariable int a, @PathVariable int b, Model model){
int c = a+b;
model.addAttribute("msg",c);
return "hello";
}
}
@RequestMapping(value
value可換成path,禁止使用name,會出問題
package com.kuang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class RestfulTest {
@RequestMapping(value = "/restful/{a}/{b}",method = RequestMethod.GET)
public String restful(@PathVariable int a, @PathVariable int b, Model model){
int c = a+b;
model.addAttribute("msg",c);
return "hello";
}
}
通過在注解中選擇method可以指定通過什么方式來進行訪問該路徑才能得到對應的方法。
@RequestMapping(name = "/restful/{a}/{b}",method = RequestMethod.GET)
//get方法可以用
@GetMapping("xxx")
//相同的,也有DeleteMapping等對應的注解可以實現method = RequestMethod.xxx
@GetMapping("/t1")
public ModelAndView he(@RequestParam("hs")String hs,User user){
System.out.println(user);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("msg",user+"\n"+hs);
modelAndView.setViewName("hello");
return modelAndView;
}
@RequestParam("xxx") 指定該參數接收時的參數名必須為xxx
@Param("xxx")也可給指定參數一個別名
在方法上寫上@ResponseBody添加該注解,則繞過視圖解析器,僅返回數據,不跳轉視圖
在類上添加@RestController注解,該類下的所有方法都只會返回數據,不跳轉視圖
Qualifier
當bean中存在多個BookService類型對象時,搭配@Qualifier(“實現類名稱”)表明注入的是哪一個具體實現類的bean(與 @Autowired配合使用加以區分)
標題名稱:Spring注解開發
本文網址:http://vcdvsql.cn/article16/dsdihgg.html
成都網站建設公司_創新互聯,為您提供網站維護、定制網站、品牌網站建設、網站營銷、商城網站、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯