@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
RequestMapping注解有六个属性,下面我们把她分成三类进行说明。
value, method
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
consumes,produces
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params,headers
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。
@RequestMapping(value="/save")
public ModelAndView save(HttpServletRequest request,
@RequestParam(value="Text",required=false) String Text,
@RequestParam(value="TYPE",required=false) String TYPE,
@RequestParam(value="BANNER_TITLE",required=false) String BANNER_TITLE,
@RequestParam(value="BANNER_INDEX",required=false) String BANNER_INDEX,
@RequestParam(value="FLG_STATE",required=false) String FLG_STATE,
@RequestParam(value="FLG_DELETE",required=false) String FLG_DELETE,
@RequestParam(value="BANNER_CONTENT",required=false) String BANNER_CONTENT,
@RequestParam(value="BANNER_TYPE",required=false) String BANNER_TYPE,
@RequestParam(value="QIYE_ID",required=false) String QIYE_ID,
@RequestParam(value="BANNER_PICVODIO",required=false) MultipartFile BANNER_PICVODIO) throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"新增Banner");
if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
String datestr= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String fileBANNERPIC = "";
String sFileBANNERPIC = "";
if (null != BANNER_PICVODIO && !BANNER_PICVODIO.isEmpty()) {
String fxip = BASICPATH+PATHPIC;//上传的基本路径比如D:/UPLOAD/PIC
String dasan = new Const().DASAN;
String filePath = fxip ; // 文件上传路径源代码
String filename = BANNER_PICVODIO.getOriginalFilename();//上传的名字 比如123.jpg
int i = filename.lastIndexOf(".");
String string = filename.substring(0, i);//名字不要后缀
string=dasan+UUID.randomUUID().toString();
fileBANNERPIC = FileUpload.fileUp(BANNER_PICVODIO, filePath, string); // 执行上传
sFileBANNERPIC = ThumbnailatorUtils.ImgThumb(filePath +"/" +fileBANNERPIC, 200, 200);
}
pd.put("BANNER_ID", this.get32UUID()); //主键
pd.put("INSERT_TIME", datestr); //插入时间
pd.put("BANNER_PICVODIO", fileBANNERPIC.replaceAll(" ", ""));
pd.put("BANNER_TITLE", BANNER_TITLE);
pd.put("BANNER_INDEX", BANNER_INDEX);
pd.put("FLG_STATE", FLG_STATE);
pd.put("BANNER_CONTENT", BANNER_CONTENT);
pd.put("BANNER_TYPE", BANNER_TYPE);
pd.put("QIYE_ID", QIYE_ID);
pd.put("FLG_DELETE", FLG_DELETE);
pd.put("Text", Text);
pd.put("TYPE", TYPE);
bannerService.save(pd);
mv.addObject("msg","success");
mv.setViewName("save_result");
return mv;
}
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scheduled定时器注解(http://blog.csdn.net/weixin_39703170/article/details/78910692)
@SuppressWarnings("unchecked")
告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。
· @SuppressWarnings("serial")
如果编译器出现这样的警告信息:The serializable class WmailCalendar does not declare a static final serialVersionUID field of type long
使用这个注释将警告信息去掉。
· @SuppressWarnings("deprecation")
如果使用了使用@Deprecated注释的方法,编译器将出现警告信息。
使用这个注释将警告信息去掉。
· @SuppressWarnings("unchecked", "deprecation")
告诉编译器同时忽略unchecked和deprecation的警告信息。
· @SuppressWarnings(value={"unchecked", "deprecation"})
等同于@SuppressWarnings("unchecked", "deprecation")
@value 在spring 3中,新增了一个注解@value,通过它,我们可以很方便的加载项目中的 XXX.properties 属性
需在ApplicationContext-mvc.xml中配置要读取的properties文件,/WEB-INF/classes是properties 文件编译后存储的根路径,类似于resources文件
<!-- 读取参数配置 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/classes/dbconfig.properties</value>
<value>/WEB-INF/classes/redis.properties</value>
<value>/WEB-INF/classes/fileMappedLocation.properties</value>
</list>
</property>
</bean>