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

网站建设需要多少网站开发员一月多少工资

网站建设需要多少,网站开发员一月多少工资,wordpress mysql 端口,百度关键字搜索排名1 简介官网:https://spring.io/projects,Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。Spring Framework是最底层的框架,是其他项目的根基。Spring Boot Spring MVC…

1 简介

官网:https://spring.io/projects,Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。

Spring Framework是最底层的框架,是其他项目的根基。

Spring Boot

Spring MVC

Spring Cloud

Spring Framework系统架构图:

Core Container:核心容器,用来管理对象(Beans)

AOP:面向切面编程,依赖于Core Container实现。Aspects实现了AOP思想。

Data Access:数据访问

Data Integration:数据集成,支持JDBC、MyBatis

Web:Web开发

Test:单元测试

2 IOC/DI

2.1 核心概念

使用对象时,由主动new对象转换为由外部提供对象,对象的创建控制权由程序内部转移到外部,这种思想就是控制反转IOC(Inversion of Control),可以降低代码耦合度,这里说的外部就是Spring容器,由Spring容器创建控制对象,Spring容器创建、管理的对象统称为bean。在IOC容器内将有依赖关系的bean进行关系绑定(DI)。

2.2 IOC入门

  1. 导入spring-context坐标

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.10.RELEASE</version>
</dependency>
  1. 定义spring管理的类(接口)

  1. 创建applicationContext.xml 并配置对应类作为spring管理的bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean class="dao.impl.BookDaoImpl" id="bookDao"/><bean id="bookService" class="service.impl.BookServiceImpl"/>
</beans>
  1. 初始化IOC容器,通过容器获取bean

    public static void main(String[] args) {//获取IOC容器ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//获取Bean对象//BookDao bookDao = (BookDao) applicationContext.getBean("bookDao");BookService bookService = (BookService) applicationContext.getBean("bookService");}

2.3 DI入门

  1. 删除使用new方式创建对象的代码

  1. 提供依赖对象对应的setter方法供IOC容器设置值

public class BookServiceImpl implements BookService {private BookDao bookDao;public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;}@Overridepublic void save() {System.out.println("book service save");bookDao.save();}
}public class BookDaoImpl implements BookDao {@Overridepublic void save() {System.out.println("book dao save");}
}
  1. 在配置文件中配置service和dao的依赖关系

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean class="dao.impl.BookDaoImpl" id="bookDao"/><bean id="bookService" class="service.impl.BookServiceImpl"><!-- property标签表示配置当前bean的属性name表示配置哪一个具体的属性ref表示参照哪一个bean--><property name="bookDao" ref="bookDao"/></bean>
</beans>

2.3 bean基础配置

2.3.1 id和class

2.3.2 name别名配置

Bean可以起多个名称,通过name属性,可配置多个别名。

2.3.3 scope作用范围

控制容器造的对象是单例还是非单例的。Spring默认创建的bean是单例的,通过scope属性控制bean是单例方式创建还是非单例方式创建。

2.4 bean实例化方式

2.4.1 无参构造方法实例化

使用无参构造方法实例化bean(最常用)

2.4.2 静态工厂实例化bean

public class OrderDaoFactory {public static OrderDao getOrderDao() {return new OrderDaoImpl();}
}public class OrderDaoImpl implements OrderDao {@Overridepublic void save() {System.out.println("OrderDaoImpl save");}
}
<bean id="orderDao" class="factory.OrderDaoFactory" factory-method="getOrderDao"/>

了解即可。

2.4.3 实例工厂与factory-bean

public class UserDaoFactory {public UserDao getUserDao() {return new UserDao();}
}public class UserDao {public void save() {System.out.println("UserDao save");}
}
<bean id="userFactory" class="factory.UserDaoFactory"/>
<bean id="userDao" factory-bean="userFactory" factory-method="getUserDao"/>

了解即可。

2.4.4 FactoryBean实例化bean

public class UserDaoFactoryBean implements FactoryBean<UserDao> {/*** 创建对象的方法,用来得到bean实例* @return* @throws Exception*/@Overridepublic UserDao getObject() throws Exception {return new UserDao();}/*** 用来得到bean类型* @return*/@Overridepublic Class<?> getObjectType() {return UserDao.class;}/*** 控制创建的是否是单例对象,不复写的话默认是单例* @return*/@Overridepublic boolean isSingleton() {return FactoryBean.super.isSingleton();}
}public class UserDao {public void save() {System.out.println("UserDao save");}
}

applicationContext.xml中配置:

<bean id="userDao" class="factory.UserDaoFactoryBean"/>

调用:

       //获取IOC容器ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//获取Bean对象UserDao userDao = (UserDao) applicationContext.getBean("userDao");userDao.save();

重点掌握

2.5 bean的生命周期

2.5.1 init-method、destroy-method

public class BookDaoImpl implements BookDao {public BookDaoImpl() {System.out.println("book dao is running");}//对象创建后的初始化操作public void init() {System.out.println("init");}@Overridepublic void save() {System.out.println("book dao save");}//容器关闭前实例销毁操作public void destroy() {System.out.println("destroy");}
}
<bean class="dao.impl.BookDaoImpl" id="bookDao" init-method="init" destroy-method="destroy"/>

调用:

 //获取IOC容器ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//获取Bean对象BookDao bookDao = (BookDao) applicationContext.getBean("bookDao");applicationContext.registerShutdownHook();//注册关闭钩子bookDao.save();applicationContext.close();

2.5.2 InitializingBean、DisposableBean

public class BookServiceImpl implements BookService , InitializingBean, DisposableBean {private BookDao bookDao;public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;}@Overridepublic void save() {System.out.println("book service save");bookDao.save();}@Overridepublic void destroy() throws Exception {}//setter方法先被调用,afterPropertiesSet后被调用。constructor->setter->afterPropertiesSet->业务方法->destroy@Overridepublic void afterPropertiesSet() throws Exception {}

了解即可。

http://www.15wanjia.com/news/158871.html

相关文章:

  • 四川建设厅下载专区网站wordpress 仪表盘 慢
  • 计算机专业做网站运营wordpress在页面里写文章
  • 番禺网站设计建设网站是什么科目
  • 淘宝网站是谁做的知识付费网站源码
  • 怎么给网站绑定域名怎么做网站赚钱的动漫网站
  • 网站建设部署与发布有效期北京南站
  • 包头网站建设推广网站图片放大特效怎么做的
  • 网站开发怎么兼容ie做任务推广网站
  • 北京手机网站设计电话广州网站建设哪家好
  • 台州网站哪家专业企业邮箱是啥意思
  • 手机网站建设公司哪家好网站网络推广方法
  • 南宁网站建设哪家公购物网站开店免费
  • 太原关键词网站排名国内网建公司排名
  • 单位网站维护 网站建设岗位推广下载app
  • 保定高端网站建设在线做网站图标
  • 如何请人创建一个网站苏州要服务网站建设
  • 电子商务网站模板百度霸屏推广多少钱一个月
  • 专做农产品的网站有哪些音乐网站开发技术
  • 企业 手机网站ui设计师的工作内容包括哪些
  • 偷dede网站模板王烨林
  • 深圳市电商网站建设企业杭州做网站套餐
  • 校园网站建设管理制度农化网站建设
  • 七牛直播网站怎么做中华建设网算什么级别网站
  • 青岛路桥建设集团有限公司网站深圳住房城乡建设局网站首页
  • 沈阳建设网站服务公司wordpress 隐形按钮
  • 网站建设销售ppt模板三星网上商城分期
  • 建设部网站官网办事厅东莞百度快速优化排名
  • 视频解析网站wordpress评论字段
  • 做系统用什么网站火山软件开发平台教程
  • 东莞人才网站酒类网站建设方案