springmvc

来源:互联网 发布:中南大学大数据专业 编辑:程序博客网 时间:2024/06/03 14:39

1自定义注解

   元注解

      @Target:

     @Retintion

     source 源文件时期

      runtieme:运行时期

@Documented javadoc此类工具文档化


针对我们的springmvc

@Controller 控制类注

@Target(ElementType.Type)

@Retention()

@Controller()

@Qualifier("")

@RequestMapping("")

@Service("")

<context:componet-scan base-package="">


dispatcherSerlet  


中央控制器

源注解用来规范自定义注解

DispatcherServle

/**

spring mvc 项目前端控制器

web请求的如可

author 

*/

public class DispatcherServlet extends HttpSERVLET{

//初始化bean 将初始化bean加入spring容器

publci void   init() throws ServletExcepton{

super.inint();

//将基础包中的bean加入spring容器管理xml

String basepackageString=confgUtils.getBasepackgeName();

//自动扫描

scanBasePacage   (basePackage);


}

publci class CofgUtils{



}

private void scanbasePackage(String basePackage){

DispatcherServlet.class.getClassLoader90

.getResource("/"+recompile());

private String repace.relaceALL("\\.","/");

File file=new File(pathFile);

String fileS []=file.list();

for(String  path:files){

 File eachFile=new File(basePackage+path);

if(eachFile.isDirecotory()){


scanbasePackage(basePackage+"."+eachFile.getName());


private String  replacePath(String basePackage){


return  basePackage.replaceALL("\\.","/");

}

private String  replacePath(String basePackage){

return basePackage.replaceAll());



private List<String> packeName=new ArrayList<String>();


packNames.add();


scabasePackage(basePackaeg);

/**/

private void filterAndInstance(){

springIoc();

//通过映射接受的url请求判断由那个实例来处理

handlerMapper();




}

//通过handlerMaps映射方法来找对应handler累

private void handlerMaps(){



}

@RequestMapp()

@qualifier()

for(String className:package)

private 

clazz.isAnntionpac



for(Map,Entry<String,Object>) {

Class clazz=Claa.forName(className.repacle(".class"));

if(clazz.isAnntiationPersent())

Object instance=clazz.gerAnntion

Sring key=controllerAnnotion();

}

注解

instanceMaps.put();

String key=sericeAnntion.value(;


Field[] filelds =entry.getValue().getClass().getDeclaredFiles();


for(Field field:fields){

Qualifier  qualifier=(Qualifier)field.getAnnotiation(Qualifier.class);

String key=qualifier.value();

field.setAccessible(true);

Method

handerMap.put();

filterAndIndn(

}

<ontext:componet-sacn base-package="">

</context:componet-san>




}

0 0
原创粉丝点击