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

企业网站模板建立流程山东进一步优化

企业网站模板建立流程,山东进一步优化,wordpress找人,七星彩网站开发Spring Framework Spring的两个核心IOC控制反转IOC容器依赖注入DIIOC容器实现注解管理BeanBean对象定义Bean对象获取 AOP面向切面编程 添加依赖入门案例注解通过Spring创建Java bean对象 xml管理Bean案例main下创建bean.XMl文件 DI依赖注入案例创建Spring配置文件 bean-di.xml … Spring Framework Spring的两个核心IOC控制反转IOC容器依赖注入DIIOC容器实现注解管理BeanBean对象定义Bean对象获取 AOP面向切面编程 添加依赖入门案例注解通过Spring创建Java bean对象 xml管理Bean案例main下创建bean.XMl文件 DI依赖注入案例创建Spring配置文件 bean-di.xml 注解管理Bean案例 Spring的两个核心 IOC控制反转 Inverse of Control的简写为 控制反转指是将对象的创建和管理交由Spring框架来完成而不是由开发人员手动创建和管理 即反转资源获取方向把自己创建资源、向环境索取资源的方式变为环境自动将资源准备好我们享受资源注入 IOC容器 IoC容器是用来实现IoC思想的一个工具或者说技术手段 它能够自动扫描应用程序中的对象将它们实例化并自动注入它们所需要的依赖对象使应用程序的开发人员能够更加专注于业务逻辑的实现而不用关心对象的创建和管理。Spring通过IoC容器来管理所有的Java对象的实例化和初始化控制着对象与对象之间的依赖关系 依赖注入DI DI Dependency Injection依赖注入依赖注入实现了控制反转的思想是指Spring创建对象的过程中将对象依赖属性通过配置进行注入所以 IoC 是一种控制反转的思想而依赖注入 DI 是对 IoC 的一种具体实现Bean管理指Bean对象的创建以及Bean对象中属性的赋值 IOC容器实现 Spring中的IoC容器就是IoC思想的一个落地产品实现。IoC容器中管理的组件也叫做bean。在创建bean之前首先需要创建IoC容器Spring提供了IoC容器的两种实现方式 BeanFactory 这是IoC容器的基本实现是Spring内部使用的接口面向Spring本身不提供给开发人员使用。 ApplicationContext BeanFactory的子接口提供了更多高级特性面向Spring的使用者几乎所有场合都使用 ApplicationContext而不使用底层的BeanFactory。 ApplicationContext的主要实现类 类型说明AnnotationConfigApplicationContext使用注解方式构建IoC容器ClassPathXmlApplicationContext使用XML配置文件方式构建Spring IoC容器 注解管理Bean Bean对象定义 在Spring框架规范中所有由spring管理的对象都称之为Bean对象。 Spring提供了以下多个注解这些注解可以直接标注在java类上将它们定义成Spring Bean。 注解说明Component该注解用于描述Spring中的Bean它是一个泛化的概念仅仅标识容器中的一个组件Bean并且可以作用在任何层次例如Service层、Dao层等使用时只需将该注解标注在相应的类上即可。Repository该注解用于数据访问层Dao层的类标识为Spring中的Bean功能与Component相同。Service该注解通常作用在业务层Service层用于将业务层的类标识为Spring中的Bean其功能与Component相同。Controller该注解通常作用在控制层如SpringMVC的Controller用于将控制层的类标识为Spring中的Bean其功能与Component相同。 Bean对象获取 ApplicationContext context new AnnotationConfigApplicationContext(包扫描路径); User user context.getBean(类名.class);AOP面向切面编程 Aspect Oriented Programming 的简写为 面向切面编程。AOP用来封装多个类的公共行为将那些与业务无关却为业务模块共同调用的逻辑封装起来减少系统的重复代码。 添加依赖 dependencies!-- Maven坐标https://mvnrepository.com/artifact/org.springframework/spring-context --!-- 引入spring context依赖--dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.24/version/dependency /dependencies入门案例 注解 Component 注解描述的类表示此类交给Spring框架管理 package cn.tedu.spring.example; import org.springframework.stereotype.Component;Component public class User {public void userRun(){System.out.println(User is do something~~);} }通过Spring创建Java bean对象 AnnotationConfigApplicationContext扫描这个包中所有带有Component注解的类,并根据这些类创建相应的Spring组件 package cn.tedu.spring.example; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class TestUser {public static void main(String[] args) {ApplicationContext context new AnnotationConfigApplicationContext(cn.tedu.spring.example);User user1 context.getBean(User.class);System.out.println(user1 user1);user1.userRun();} }xml管理Bean案例 在Spring框架中Bean的配置可以通过 XML 文件来完成。这个文件通常被称为 Spring 配置文件或 Spring XML 文件。 package cn.tedu.spring.example;public class UserXml {private String username;private String password;public void run(){System.out.println(今天天气不错挺风和日丽的~);} }main下创建bean.XMl文件 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean iduserXml classcn.tedu.spring.example.UserXml/bean /beanspackage cn.tedu.spring.example;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestUserXml {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(bean.xml);UserXml userXml (UserXml)context.getBean(userXml);userXml.run();} }DI依赖注入案例 package cn.tedu.spring.dibase;public class Book {private String bookName;private String bookAuthor;public void setBookName(String bookName) {this.bookName bookName;}public void setBookAuthor(String bookAuthor) {this.bookAuthor bookAuthor;}Overridepublic String toString() {return Book{ bookName bookName \ , bookAuthor bookAuthor \ };} }创建Spring配置文件 bean-di.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean idbook classcn.tedu.spring.dibase.Bookproperty namebookName value倚天屠龙记 /property namebookAuthor value金庸//bean /beanspackage cn.tedu.spring.dibase;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestBook {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(bean-di.xml);Book book context.getBean(Book.class);System.out.println(book book);} }注解管理Bean案例 Value ​ Value注入是将属性值直接注入到bean中主要用于注入一些简单类型的属性如字符串、基本类型等 使用时需要注意属性的类型和格式否则会导致注入失败。Autowired Autowired注入是将对象注入到bean中并且在注入对象时会根据依赖注入容器中 bean的类型 进行匹配。 如果容器中有多个类型匹配的bean存在则会抛出异常。因此Autowired注入常用于注入复杂对象、接口类型的属性或其他bean实例。 package cn.tedu.spring.bean;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Repository;Repository public class UserDao {Value(jdbc:mysql://localhost:3306/tedu)private String dbUrl;Value(root)private String username;private String password;Value(qwertyuiop)public void setPassword(String password) {this.password password;}Overridepublic String toString() {return UserDao{ dbUrl dbUrl \ , username username \ , password password \ };} }package cn.tedu.spring.bean;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service;Service public class UserService {Value(注册业务)private String serveName;Autowiredprivate UserDao userDao;Overridepublic String toString() {return UserService{ serveName serveName \ , userDao userDao };} }package cn.tedu.spring.bean;import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class TestUserDao {Testpublic void testBean(){ApplicationContext context new AnnotationConfigApplicationContext(cn.tedu.spring.bean);UserDao userDao context.getBean(UserDao.class);System.out.println(userDao userDao);}public static void main(String[] args) {ApplicationContext context new AnnotationConfigApplicationContext(cn.tedu.spring.bean);UserService userService context.getBean(UserService.class);System.out.println(userService: userService);} }
http://www.hkea.cn/news/14461423/

相关文章:

  • 怎么在网站上做下载5118网站如何使用免费版
  • 怎么在百度上做自己的网站苏州建站公司哪个好
  • joomla 网站图标ftp制作网站
  • 网站开发所需经费网页设计实训报告总结200字
  • 陕西建设人才网站商城网站建设需要什么团队
  • 商城网站里可以再放cms吗网站建设交接表
  • html5 手机网站模板网站开发按前端后端分解
  • 宜春网站开发公司用手机设计装修的软件
  • 网站技术解决杭州网站建设那家好
  • 做电影网站资源哪里来的wordpress打开媒体链接设置
  • 自做网站宁德小程序开发
  • 重庆专业网站推广报价中国建设招聘信息网站
  • 有声小说网站开发顺企网我做网站
  • 自己建设购物网站wordpress微信公众号关注
  • 做彩票网站推广犯法吗周口seo优化
  • 静态网站制作流程生成二维码的小程序
  • 网站方案策划包头网站建设SEO优化制作设计公司
  • 印尼请人做网站长沙网站seo费用
  • 有没有一个网站做黄油视频网址申请注册方法
  • 自学考试 网页制作与网站建设06627网站收缩引擎入口
  • 平面设计与网站开发的概述大型网站建设费用
  • 检察门户网站建设学校网站模板
  • 域名和主机搭建好了怎么做网站建设一个公司网站 需要钱吗
  • 上海医疗网站备案农产品网站开发
  • asp网站建设教程成都到西安高铁多少钱
  • 做网站编辑需要具备的素质交换链接案例
  • 抚州建设网站的公司深圳市住房和建设局官网站首页
  • 建设人才服务信息网国家网站么梧州论坛蒙山
  • 做网站怎么开发客户网站平台管理
  • 大连网站制作公司费用多少wordpress 正在跳转中 请稍等