c#与.net遇到的面试题

1.c#封箱和拆箱

封箱:把值类型转换为Object类型,或者转换为由值类型实现的接口类型。
         值类型?所谓值类型就是指像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);
    }
这种应用场景应该只有用到了才会知道,以前我是不知道这种使用方式的,后来,看过前辈的代码,发现了这个东西,相信看了上面的代码大家应该明白了~~

既然说道这里了,顺便说道说道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。

猜你喜欢

转载自www.cnblogs.com/jeanming/p/9085919.html