1.c#封箱和拆箱
封箱:把值类型转换为对象类型,或者转换为由值类型实现的接口类型。
值类型?所谓值类型就是指像int、string之类的简单类型,像集合、数组应该就不是值类型还应该归为对象类型。
拆箱即是将对象类型转换为值类型或为初始的接口类型。
封箱非常有用,有两个非常重要的原因。
首先,它允许使用集合中的值类型,集合中项的类型是Object。
其次,有一个内部机制允许在值类型上调用object,例如int和结构。
2.springmvc中针对一个controller方法配置两个url
需要不同的url请求得到相同的结果,那么你写两个方法总是不太好的,使用下面的方法可以解决这个问题。
@RequestMapping(value = { "/item/index.htm", "/product/index.htm"})
publicModelAndView doPDPHandler(HttpServletRequestrequest,HttpServletResponse response){
ViewCommand viewCommand = constructViewCommand(request,response);
return super.constructModelAndView(request, viewCommand);
}
3.spring常用的注解
@Controller
@Service
@Repository
//分别是用来将control、service、dao对象注册成spring的bean,其实功能是一样的,就是为了区分起了个相应的名字而已。
@Autowired
// 用来引入已经spring中注册的bean的,默认根据类型来匹配
@Resource
//也可以用来引入spring中注册的bean,但是前提是需要给他一个bean的name,比如@Resource("xxx"),如果不这样写他默认使用的是比如引入的对象"MemberService"默认为首字母小写去spring容器中取bean也就是"memberService"。
// 另外用来读配置文件也挺好用的,只要你的配置文件配置到了spring容器中,就可以通过bean的name取到。
@Transactional
//开启事务的注解,可以写在对象上,也可以写在方法上,作用域取决于你写在什么东西上。另外如果你的sql只是用于查询可以通过配置readOnly= true来提高效率,不配置默认是false。