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

网站维护是什么工作公司网站建设空间

网站维护是什么工作,公司网站建设空间,网站上线如何做公司名字,农业银行总行门户网站建设文章目录 spring概述Spring定义Spring核心Spring Framework的特点 基于注解管理bean依赖开启组件扫描使用注解定义Bean案例:Autowired注入属性注入set注入形参上注入只有一个构造函数#xff0c;无注解Autowire注解和Qualifier注解联合 Resource注入Spring全注解开发 spring概… 文章目录 spring概述Spring定义Spring核心Spring Framework的特点 基于注解管理bean依赖开启组件扫描使用注解定义Bean案例:Autowired注入属性注入set注入形参上注入只有一个构造函数无注解Autowire注解和Qualifier注解联合 Resource注入Spring全注解开发 spring概述 Spring定义 Spring是一款主流的Java EE 轻量级开源框架目的是用于简化Java企业级引用的开发难度和开发周期。从简单性、可测试性和松耦合度的角度而言任何Java应用都可以从Spring中受益。Spring框架提供自己提供功能外还提供整合其他技术和框架的能力。Spring自诞生以来备受青睐一直被广大开发人员作为Java企业级应用程序开发的首选。时至今日Spring俨然成为了Java EE的代名词成为了构建Java EE 应用的事实标准。自2004年4月,Spring1.0 版正式发布以来Spring已经步入到了第6个大版本即 Spring6本课程采用Spring5.3.24正式版本。Spring6版本支持JDK17 Spring核心 Spring指的是Spring Framework通常我们称之为Spring框架。Spring框架是一个分层的面向切面的Java应用程序的一站式解决框架它是Spring技术栈的核心和基础是为了解决企业级引用开发的复杂性而创建的。 Spring有两个核心模块IoC和AOP。IocInverse of Control的简写为 控制反转指把创建对象交给Spring进行管理。OPAspect Oriented Programming 的简写为 面向对象编程。AOP用来封装多个类的公共行为将那些与业务无关却为业务模块共同调用的逻辑封装起来减少系统的重复代码降低模块间的耦合度。另外AOP还解决一些系统层面上的问题比如日志、事务、权限等。 Spring Framework的特点 控制反转IoC反转资源获取方向把自己创建的资源、向环境索取资源变为环境将资源准备好我们享受资源注入。面向切面编程AOP在不修改源代码的基础上增强代码功能。容器Spring IoC是一个容器因为它包含并管理组件对象的生命周期组件享受到了容器化的管理替程序员屏蔽了组件创建过程中的大量细节极大降低了使用门槛大幅度提高了开发效率。一站式在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方库而且在Spring旗下的项目已经覆盖了广泛领域很多方面的功能性需求可以在Spring Framework 的基础上全部使用Spring来实现。 基于注解管理bean 从Java5开始Java增加了对注解Annotation的支持它是代码中的一种特殊标记可以在编译、类加载和运行时被读取执行相应的处理。开发人员可以通过注解在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。Spring从2.5版本开始提供了对注解技术的全面支持我们可以使用注解来实现自动装配简化Spring的xml配置。Spring通过注解实现自动装配 引入依赖开启组件扫描使用注解定义Bean依赖注入 依赖 dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.24/version/dependency /dependencies开启组件扫描 Spring默认不使用注解装配Bean因此需要在Spring的xml配置中通过context:component-scan元素开启Spring Beans的自动扫描功能。开启此功能后Spring会自动从扫描指定的包base-package属性设置及其子包下的所有类如果类上使用了Component注解就将该类装配到容器中。resources目录下创建spring配置文件 bean.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!-- 2.开启组件扫描让spring可以通过注解方式实现bean管理包括创建对象、属性注入 --!-- base-package:扫描哪个包中的注解在com.text的包或者子包中建了类在类上、属性上、方法上加了spring的Component注解这里就能扫描到--context:component-scan base-packagecom.text.spring/context:component-scan /beans使用注解定义Bean Spring提供了以下多个注解这些注解可以直接标注在java类上将它们定义成Spring Bean。 注解说明Component该注解用于描述Spring中的Bean它是一个泛化的概念仅仅标识容器中的一个组件Bean并且可以作用在任何层次例如Service层、Dao层等使用时只需将该注解标注在相应的类上即可。Respository注解用于数据访问层Dao层的类标识为Spring中的Bean功能与Component相同。Service该注解通常作用在业务层Service层用于将业务层的类标识为Spring中的Bean其功能与Component相同。Controller该注解通常作用在控制层如SpringMVC的Controller用于将控制层的类标识为Spring中的Bean其功能与Component相同。 案例: // value可以不写默认为类名首字母小写 //Component(value user) // bean iduser classxxx //Repository //Service Controller public class User {}测试 public class TestUser {Testpublic void testUser(){ApplicationContext context new ClassPathXmlApplicationContext(bean.xml);User user context.getBean(user, User.class);System.out.println(user user);} }Autowired注入 单独使用Autowired注解默认根据类型装配byTypeAutowired注解有一个required属性默认值是true表示在注入的时候要求被注入的Bean必须存在如果不存在则报错。如果required属性设置为false表示注入的Bean存在或者不存在都没关系存在就注入不存在也不报错。 属性注入 控制器层controller.UserController public class UserController {private UserService userService;public void addController(){System.out.println(controller is running...);userService.addService();} }服务层service.UserService接口 public interface UserService {public void addService(); }服务层service.UserServiceImpl接口的实现类 public class UserServiceImpl implements UserService {Overridepublic void addService() {System.out.println(service is running...);} }在UserController和UserSerivceImpl中添加Controller注解和Service注解在UserController中注入UserServiceImpl Controller public class UserController {// 注入service// 第一种方式属性注入Autowired // 根据类型找到对象完成注入private UserService userService; }测试类测试autowired.TestUserController public class TestUserController {Testpublic void testUserController(){ApplicationContext context new ClassPathXmlApplicationContext(bean.xml);UserController controller context.getBean(UserController.class);controller.addController();} }set注入 修改UserController类 // 第三种方式构造方法注入 private UserService userService;Autowired public UserController(UserService userService) {this.userService userService; }形参上注入 修改UserController类 // 第四种方式形参注入 private UserService userService;public UserController(Autowired UserService userService) {this.userService userService; }只有一个构造函数无注解 修改UserController类 // 第五种方式只有一个有参数构造函数无注解 private UserService userService;public UserController(UserService userService) {this.userService userService; }Autowire注解和Qualifier注解联合 再创建一个UserService接口的实现类service.UserServiceImpl2 Service public class UserServiceImpl2 implements UserService{Overridepublic void addService() {System.out.println(service2 is running...);} }测试发现报错 因为UserService有两个实现类而Autowired注解根据byType定位所以找到了两个实现类 解决修改UserController 使用两个注解 // 1.第六种方式根据类型和名称一起注入 Autowired Qualifier(value userServiceImpl2) // 类名首字母小写 private UserService userService;// 2.将构造函数注释Resource注入 Resource注解也可以完成属性注入。它和Autowired注解的区别如下 Resource注解是JDK扩展包中的也就是说属于JDK的一部分。所以该解释是标准注解更加具有通用性而Autowired注解是Spring框架自己的。Resource注解默认根据名称装配byName未指定name时使用属性名作为name通过name找不到的话会自动启动通过类型byType装配。而Autowired注解默认根据类型装配byType如果想根据名称匹配需要配合Qualifier注解一起使用。Resource注解用在属性上、setter方法上Autowired注解用在属性上、setter方法上、构造方法上、构造方法参数上。 案例工程下创建包 resource和之前一样创建controller和service两个包并创建UserController类和UserService接口以及该接口的实现类UserServiceImpl修改UserController Controller(myUserController) public class UserController {// 根据名称进行注入Resource(namemyUserService)private UserService userService;public void add(){System.out.println(controller...);userService.add();} }修改ServiceControllerImpl1 Service(myUserService) public class UserServiceImpl implements UserService {指定Resource中的name则根据名称装配未指定name时则根据属性名装配未指定name属性名也不一致则根据类型装配 Spring全注解开发 全注解开发就是不再使用spring配置文件了写一个配置类来代替配置文件。 工程下创建包config创建类SpringConfig // 配置类 Configuration // 开启组件扫描 ComponentScan(cn.tedu.spring) public class SpringConfig { }在resource下创建测试类进行测试 public class TestUserControllerAnno {public static void main(String[] args) {// 加载配置类ApplicationContext context new AnnotationConfigApplicationContext(SpringConfig.class);UserController controller context.getBean(UserController.class);controller.add();} }
http://www.hkea.cn/news/14402154/

相关文章:

  • 建设企业功能网站松江外贸网站建设
  • 网站设计高大上山东省作风建设网站
  • 专业的营销网站建设公司flash翻页效果网站模板
  • 网站空间管理面板淘宝网站开始怎么做
  • 北京住房与城乡建设厅网站微信官方网站怎么进入
  • 网站建设 中企动力公司网站恶意点击
  • 制作企业网站定向推广
  • 重庆神态网站建设wordpress搬家后重新安装
  • 各大网站域名大全张家港做网站公司
  • 给个营销型网站聚名网查询
  • 互动网站策划网站开发基本构成
  • 什么网站开发外贸客户襄阳网站seo技巧
  • 怎么选择赣州网站建设电子商务做网站
  • 做网站用什么服务器好wordpress 迁移 插件
  • 喜满堂网站建设wordpress企业咨询模板
  • 手机网站如何制作视频网站用什么cms
  • 优化网站关键词百度经验app
  • 有没有电脑做兼职的网站临沂 网站优化
  • 自己能不能做个网站为什么要选择做花卉网站
  • 做古玩生意哪些网站好ppt制作入门教程
  • 网站源码搭建网站休闲农业有哪些网络营销方式
  • 成都网站快速排名提升哈尔滨优惠的网站建设
  • 校园网站如何管理课程网站建设目标任务
  • 东营网站建设预算价格骏域网站建设专家电话
  • jquery 个人网站wordpress oss 防盗链
  • 广州网站建设制作网站建设培训赚钱吗
  • wordpress博客文章图片美化短视频搜索优化
  • 厦门双模网站网站建设近义词
  • 江苏越润建设有限公司网站手机上自己设计房子软件
  • 360网站建设商家低价网站建设优化公司