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

网站如何制作龙岩古田

网站如何制作,龙岩古田,寿光网络推广公司,做网站需要域名和什么Spring基础 - Spring核心之控制反转(IOC) 引入 Spring框架管理这些Bean的创建工作#xff0c;用户管理Bean转变为框架管理Bean#xff0c;这个称之为控制翻转Spring框架托管创建的Bean放在IOC容器中Spring框架为了更好让用户配置Bean#xff0c;必然会引入不同方式来配置B…Spring基础 - Spring核心之控制反转(IOC) 引入 Spring框架管理这些Bean的创建工作用户管理Bean转变为框架管理Bean这个称之为控制翻转Spring框架托管创建的Bean放在IOC容器中Spring框架为了更好让用户配置Bean必然会引入不同方式来配置Bean这便是xml配置java配置,注解配置Spring需要管理整个Bean的生命周期应用程序代码从Ioc Container中获取以来的Bean资源注入到应用程序中这个过程叫做依赖注入所以说控制翻转通过依赖注入实现IOC是设计思想DI是实现方式在依赖注入autowired,resource 如何理解IoC Spring里面的bean就类似是定义的一个组件而这个组件的作用就是实现某个功能的这里所定义的bean就相当于给了你一个更为简便的方法来调用这个组件去实现你要完成的功能 传统Java SE程序设计我们直接在对象内部通过new进行创建对象是程序主动去创建依赖对象而IoC是有专门一个容器来创建这些对象即由Ioc容器来控制对 象的创建谁控制谁当然是IoC 容器控制了对象控制什么那就是主要控制了外部资源获取不只是对象包括比如文件等 传统程序设计下都是主动去创建相关对象然后再组合起来 当有了IoC/DI的容器后在客户端类中不再主动去创建这些对象了 在IoC/DI思想中应用程序就变成被动的了被动的等待IoC容器来创建并注入它所需要的资源了 IoC和DI是什么关系 组件之间的依赖关系由容器在运行期间决定依赖注入的目的是为了提升组件重用的频率为系统搭建一个灵活可扩展的平台通过依赖注入机制我们只需要通过简单的配置无需任何代码就可以指定目标需要的资源完成自身的业务逻辑应用程序依赖于IOC容器应用程序需要IOC容器来提供对象需要的外部资源IOC容器注入应用程序某个对象应用程序依赖的对象注入某个对象所需要的外部资源 Ioc 配置的三种方式 xml配置 将Bean的信息配置xml文件里通过spring加载文件为我们创建Bean资源 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!-- services --bean iduserService classtech.pdai.springframework.service.UserServiceImplproperty nameuserDao refuserDao/!-- additional collaborators and configuration for this bean go here --/bean!-- more bean definitions for services go here -- /beans Java 配置 将类的创建交给我们配置的JavaConfig来完成Spring只负责维护和管理采用纯Java创建方式本质将xml配置声明转移到Java配置类创建一个配置类添加Configuration注解声明为配置类创建方法方法加上Bean注解该方法用于创建实例并且返回创建之后交给spring管理 /*** author pdai*/ Configuration public class BeansConfig {/*** return user dao*/Bean(userDao)public UserDaoImpl userDao() {return new UserDaoImpl();}/*** return user service*/Bean(userService)public UserServiceImpl userService() {UserServiceImpl userService new UserServiceImpl();userService.setUserDao(userDao());return userService;} }注解配置 通过在类上加注解的方式来声明一个类交给Spring管理Spring会自动扫描带有Component Controller Service Repository需要配置Spring的注解扫描器对类添加Component相关的注解比如ControllerServiceRepository设置ComponentScan的basePackage, 比如context:component-scan base-package‘tech.pdai.springframework’, 或者ComponentScan(“tech.pdai.springframework”)注解或者 new AnnotationConfigApplicationContext(“tech.pdai.springframework”)指定扫描的basePackage. /*** author pdai*/ Service public class UserServiceImpl {/*** user dao impl.*/Autowiredprivate UserDaoImpl userDao;/*** find user list.** return user list*/public ListUser findUserList() {return userDao.findUserList();}} 依赖注入的三种方式 构造方法注入(Construct注入)Setter注入基于注解的注入接口注入 setter方式 在XML配置方式中property都是setter方式注入 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!-- services --bean iduserService classtech.pdai.springframework.service.UserServiceImplproperty nameuserDao refuserDao/!-- additional collaborators and configuration for this bean go here --/bean!-- more bean definitions for services go here -- /beans 需要new UserServiceImpl()创建对象 所以需要默认构造函数调用setUserDao函数注入userDao的值所以需要setUserDao函数 /*** author pdai*/ public class UserServiceImpl {/*** user dao impl.*/private UserDaoImpl userDao;/*** init.*/public UserServiceImpl() {}/*** find user list.** return user list*/public ListUser findUserList() {return this.userDao.findUserList();}/*** set dao.** param userDao user dao*/public void setUserDao(UserDaoImpl userDao) {this.userDao userDao;} } 在注解和Java配置方式下 /*** author pdai*/ public class UserServiceImpl {/*** user dao impl.*/private UserDaoImpl userDao;/*** find user list.** return user list*/public ListUser findUserList() {return this.userDao.findUserList();}/*** set dao.** param userDao user dao*/Autowiredpublic void setUserDao(UserDaoImpl userDao) {this.userDao userDao;} }构造函数 在XML配置方式中是通过构造函数参数注入比如下面的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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!-- services --bean iduserService classtech.pdai.springframework.service.UserServiceImplconstructor-arg nameuserDao refuserDao/!-- additional collaborators and configuration for this bean go here --/bean!-- more bean definitions for services go here -- /beans本质上是new UserServiceImpl(userDao)创建对象, 所以对应的service类是这样的 /*** author pdai*/ public class UserServiceImpl {/*** user dao impl.*/private final UserDaoImpl userDao;/*** init.* param userDaoImpl user dao impl*/public UserServiceImpl(UserDaoImpl userDaoImpl) {this.userDao userDaoImpl;}/*** find user list.** return user list*/public ListUser findUserList() {return this.userDao.findUserList();}} Autowired和Resource以及Inject等注解注入有何区别 Autowired是Spring自带的注解通过AutowiredAnnotationBeanPostProcessor 类实现的依赖注入 Autowired可以作用在CONSTRUCTOR、METHOD、PARAMETER、FIELD、ANNOTATION_TYPE Autowired默认是根据类型byType 进行自动装配的 如果有多个类型一样的Bean候选者需要指定按照名称byName 进行装配则需要配合Qualifier。 将Autowired写在被注入的成员变量上setter或者构造器上就不用再xml文件中配置了。 resource 1、Resource是JSR250规范的实现在javax.annotation包下 2、Resource可以作用TYPE、FIELD、METHOD上 3、Resource是默认根据属性名称进行自动装配的如果有多个类型一样的Bean候选者则可以通过name进行指定进行注入
http://www.zqtcl.cn/news/152657/

相关文章:

  • 南阳卧龙区2015网站建设价格快三直播十大平台直播间
  • 网站谁做的wordpress 空白页面
  • 专业的佛山网站建设公司Wordpress 帖子翻译
  • 南昌网站建设公司网站建设公司深圳企业网站模板
  • 一家做特卖的网站docker创建wordpress
  • 网站开发设计电子书网站后台无法更新缓存
  • 南京高端网站制作公司哪家好神起网络公司
  • 建网站选哪个宁波网站建设设计图
  • 贾汪徐州网站开发门户网站解决方案
  • 网站如何做淘宝支付个人注册商标步骤
  • 书香校园网站建设网站排名下降了怎么办
  • 观音桥网站建设湖南省建设银行网站官网
  • 信阳网站建设找汉狮搭建网站知识
  • 企业门户网站用户类型商务信息网
  • 深圳网站设计廊坊公司深圳ui设计培训班
  • 为什么网站需要维护帮人推广注册app的平台
  • 网站开发岗位要求服务好的做培训网站
  • 宁波制作网站企业有哪些学网页设计需要什么学历
  • 网站建设公司墨子网络百度域名续费
  • 琪觅公司网站开发中文网页开发工具
  • 教育网站制作设计成都网络营销公司
  • 怎么查看一个网站页面的seo优化情况网站建站建设首选上海黔文信息科技有限公司2
  • 威海网站建设价格深圳优美网络科技有限公司
  • 做网站用什么系统建设网站投资多少
  • 凡科建站官网 网络服务抚顺 网站建设
  • 学校网站的建设方案西安企业seo外包服务公司
  • 建设租车网站深圳ww
  • 推广网络网站潜江资讯网一手机版
  • 凡科网站自己如何做毕设 做网站
  • 一起做网站逛市场百度权重查询网站