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

b2c电子商务网站建设网站百度百科

b2c电子商务网站建设,网站百度百科,eclipse tomcat 网站开发,龙华专业做网站公司xml 配置 顾名思义,就是将bean的信息配置.xml文件里,通过Spring加载文件为我们创建bean。这种方式出现很多早前的SSM项目中,将第三方类库或者一些配置工具类都以这种方式进行配置,主要原因是由于第三方类不支持Spring注解。 优点…

xml 配置

顾名思义,就是将bean的信息配置.xml文件里,通过Spring加载文件为我们创建bean。这种方式出现很多早前的SSM项目中,将第三方类库或者一些配置工具类都以这种方式进行配置,主要原因是由于第三方类不支持Spring注解。

  • 优点: 可以使用于任何场景,结构清晰,通俗易懂

  • 缺点: 配置繁琐,不易维护,枯燥无味,扩展性差

举例

  1. 配置xx.xml文件
  2. 声明命名空间和配置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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- services --><bean id="userService" class="tech.pdai.springframework.service.UserServiceImpl"><property name="userDao" ref="userDao"/><!-- additional collaborators and configuration for this bean go here --></bean><!-- more bean definitions for services go here -->
</beans>

Java 配置

将类的创建交给我们配置的JavcConfig类来完成,Spring只负责维护和管理,采用纯Java创建方式。其本质上就是把在XML上的配置声明转移到Java配置类中

  • 优点:适用于任何场景,配置方便,因为是纯Java代码,扩展性高,十分灵活

  • 缺点:由于是采用Java类的方式,声明不明显,如果大量配置,可读性比较差

举例

  1. 创建一个配置类, 添加@Configuration注解声明为配置类
  2. 创建方法,方法上加上@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的注解扫描器。

  • 优点:开发便捷,通俗易懂,方便维护。

  • 缺点:具有局限性,对于一些第三方资源,无法添加注解。只能采用XML或JavaConfig的方式配置

举例

  1. 对类添加@Component相关的注解,比如@Controller,@Service,@Repository
  2. 设置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 List<User> findUserList() {return userDao.findUserList();}}

依赖注入的三种方式

常用的注入方式主要有三种:构造方法注入(Construct注入),setter注入,基于注解的注入(接口注入)

setter方式

  • 在XML配置方式中,property都是setter方式注入,比如下面的xml:
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- services --><bean id="userService" class="tech.pdai.springframework.service.UserServiceImpl"><property name="userDao" ref="userDao"/><!-- additional collaborators and configuration for this bean go here --></bean><!-- more bean definitions for services go here -->
</beans>

本质上包含两步:

  1. 第一步,需要new UserServiceImpl()创建对象, 所以需要默认构造函数
  2. 第二步,调用setUserDao()函数注入userDao的值, 所以需要setUserDao()函数

所以对应的service类是这样的:

/*** @author pdai*/
public class UserServiceImpl {/*** user dao impl.*/private UserDaoImpl userDao;/*** init.*/public UserServiceImpl() {}/*** find user list.** @return user list*/public List<User> 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 List<User> findUserList() {return this.userDao.findUserList();}/*** set dao.** @param userDao user dao*/@Autowiredpublic void setUserDao(UserDaoImpl userDao) {this.userDao = userDao;}
}

在Spring3.x刚推出的时候,推荐使用注入的就是这种, 但是这种方式比较麻烦,所以在Spring4.x版本中推荐构造函数注入。

构造函数

  • 在XML配置方式中<constructor-arg>是通过构造函数参数注入,比如下面的xml:
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- services --><bean id="userService" class="tech.pdai.springframework.service.UserServiceImpl"><constructor-arg name="userDao" ref="userDao"/><!-- additional collaborators and configuration for this bean go here --></bean><!-- more bean definitions for services go here -->
</beans>
http://www.tj-hxxt.cn/news/41789.html

相关文章:

  • 国内公司名字可以做国外网站windows优化大师电脑版
  • 广州牌具做网站的公司如何做好关键词的优化
  • 有什么做外贸的好网站百度推广费用预算表
  • 工程建设网站怎么提交大众网潍坊疫情
  • 个人形象设计网站文章发布在哪个平台好
  • 莆田网站 建设百度文库登录入口
  • 草桥网站建设公司正规的计算机培训机构
  • 全球可以做外贸的社交网站有哪些网站推广应该怎么做?
  • 肇庆企业免费建站云建站
  • 在线免费高清logoseo外链推广工具
  • 凤岗镇网站仿做佛山seo培训机构
  • Godaddy优惠码网站怎么做的在线发外链工具
  • 十堰论坛网站廊坊网络推广公司
  • 网站设计素材下载手机优化游戏性能的软件
  • 苏州企业网站建设专家上海谷歌优化
  • 网站开发毕设任务书疫情放开死亡人数最新消息
  • 长沙圭塘网站建设公司百度关键词优化词精灵
  • 电子商务网站建设与维护试卷seo网站推广优化就找微源优化
  • 网站后台seo优化如何做官网制作公司
  • 深圳住房和建设局网站咨询窗口怎么快速排名
  • 佛山网站设计特色广州google推广
  • 政府网站建设工作领导讲话提高工作效率英语
  • 千图网解析网站怎么做国家免费培训机构
  • 网站登录界面模板htmlsem优化托管公司
  • 网站后台分析图怎么做互联网营销师培训机构
  • 怎样批量做地级市网站企业推广网站
  • 建站网络广州品牌营销服务
  • 南宁网站优化百度排名查询
  • 安吉网站建设公司网络推广引流有哪些渠道
  • 营销型网站建设的目的产品推广软件有哪些