当前位置: 首页 > news >正文

郑州网站建设详细内容推荐免费发布推广信息的平台

郑州网站建设详细内容推荐,免费发布推广信息的平台,网站体验提升思路,苏州建设工程信息网上一节介绍了Spring创建过程中的两个重要的接口,那么它们在创建Bean的过程中起到了什么作用呢?接下来请看: Spring有三种方式寻找 xml 配置文件,根据 xml 文件内容来构建 ApplicationContext,分别为ClassPathXmlAppli…

上一节介绍了Spring创建过程中的两个重要的接口,那么它们在创建Bean的过程中起到了什么作用呢?接下来请看:

Spring有三种方式寻找 xml 配置文件,根据 xml 文件内容来构建 ApplicationContext,分别为ClassPathXmlApplicationContext,FileSystemXmlApplicationContext ,AnnotationConfigApplicationContext 和 AnnotationConfigServletWebApplicationContext。

动手创建Bean

创建接口实现类

public class beanImpl implements bean{@Overridepublic void print() {System.out.println("bean");}
}

创建xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName"><bean id="bean" class="com.beanImpl"/>
</beans>

运行

public class A01Application {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("classpath:bean.xml");context.getBean(bean.class).print();}
}D:\jdk8\bin\java.exe "-javaagent:F:\idea\IntelliJ IDEA 
22:49:09.159 [main] DEBUG org.springframework.context.s
22:49:09.261 [main] DEBUG org.springframework.beans.fac
22:49:09.282 [main] DEBUG org.springframework.beans.fac
bean进程已结束,退出代码0

那么,读取xml的时候发生了什么事呢

内部实现

public static void main(String[] args) {DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();XmlBeanDefinitionReader xmlBeanDefinitionReader = new XmlBeanDefinitionReader(beanFactory);xmlBeanDefinitionReader.loadBeanDefinitions(new ClassPathResource("bean.xml"));for (String name : beanFactory.getBeanDefinitionNames()){System.out.println(name);}}D:\jdk8\bin\java.exe "-javaagent:F:\idea\In
23:05:26.396 [main] DEBUG org.springframewo
bean进程已结束,退出代码0

注解创建Bean

public class A03Application {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(beanConfig.class);context.getBean(bean.class).print();for (String name : context.getBeanDefinitionNames()){System.out.println(name);}}
}bean
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.event.internalEventListenerProcessor
org.springframework.context.event.internalEventListenerFactory
beanConfig
bean
与目标 VM 断开连接, 地址为: ''127.0.0.1:64717',传输: '套接字''进程已结束,退出代码0

注解创建Bean会把配置类也作为Bean注入进来,同时还会添加5个后处理器,来进行对beanConfig的解析处理。

支持WEB的注解创建Bean

创建支持web的配置类

@Configuration
public class WebConfig {//创建Servlet的web服务器@Beanpublic ServletWebServerFactory servletWebServerFactory(){return new TomcatServletWebServerFactory();}//创建前处理器,用来接收各种请求@Beanpublic DispatcherServlet dispatcherServlet(){return new DispatcherServlet();}//将dispatcherServlet注册在web服务器上@Beanpublic DispatcherServletRegistrationBean dispatcherServletRegistrationBean(DispatcherServlet dispatcherServlet){return new DispatcherServletRegistrationBean(dispatcherServlet,"/");}//Controller控制器@Bean("/bean")public Controller controller(){return new Controller() {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {System.out.println("bean");return null;}};}
}

再运行一下主类吧

public class A04Application {public static void main(String[] args) {AnnotationConfigServletWebServerApplicationContext context = new AnnotationConfigServletWebServerApplicationContext(WebConfig.class);for (String name : context.getBeanDefinitionNames()){System.out.println(name);}}
}org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.event.internalEventListenerProcessor
org.springframework.context.event.internalEventListenerFactory
webConfig
servletWebServerFactory
dispatcherServlet
dispatcherServletRegistrationBean
/bean

 这样就能发现创建了所有的Bean,而且,还可以通过内置服务器运行接收请求。

                                                                                                                             to be continue······

http://www.fp688.cn/news/161837.html

相关文章:

  • 百度怎么免费做网站seo网站关键字优化
  • 用github做静态网站郑州做网站推广电话
  • 做外包胡it网站网站的营销推广
  • html5能单独做网站吗bt种子磁力搜索
  • 阿里云做网站搜狐财经峰会直播
  • 网页设计毕业论文教程seo教程视频
  • 重庆网站建设联系电话种子搜索器
  • 网站地图在线生成怎么做互联网营销推广
  • 帮做毕设的网站网络营销经典成功案例
  • 湖北省和建设厅网站2345网址导航设为主页
  • hdwiki做网站上海网络营销推广外包
  • 上海网站建设与设计2023适合小学生的新闻事件
  • 网站开发论文创作背景seo顾问什么职位
  • 阿里巴巴外贸平台一年多少钱seo品牌优化
  • 网站设计大小百度识图网页版 在线
  • 给wordpress网站做ssl卸载seo整合营销
  • 有专业做网站的百度官方网
  • 专业做英文网站seo搜索排名优化方法
  • 减肥网站源码免费网站 推广网站
  • wordpress 商户插件网站seo优化分析
  • 邢台市的做网站制作公司自制网站 免费
  • 网站做二维码吗2023能用的磁力搜索引擎
  • 温岭市溪建设局网站推广类软文
  • 文化网站建设论文淘宝seo什么意思
  • 自己做网站 做什么好网络游戏营销策略
  • 建设银行购物网站seo顾问服务咨询
  • 手机做网站对比路由器做网站网络服务中心
  • 上海住房和城乡建设厅网站小说关键词自动生成器
  • 网站口碑推广买链接网站
  • php动态网站开发简答题网站外包一般多少钱啊