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

建设银行唐山分行网站上海电子商城网站

建设银行唐山分行网站,上海电子商城网站,济南网站建设市场,厦门谷歌seo目录 1.存储Bean对象的注解 1.1 五大类注解 1.2 方法注解 1.3添加注解的依赖 2.注解的使用 2.1 controller注解 2. 2Service注解 2.3.Resopsitory注解 2.4Component注解 2.5Configuration注解 2.6 注解之间的关系 3.方法注解 3.1 方法注解要配合类注解来使用。 3.2…目录 1.存储Bean对象的注解 1.1 五大类注解 1.2 方法注解 1.3添加注解的依赖 2.注解的使用 2.1  controller注解 2. 2Service注解 2.3.Resopsitory注解 2.4Component注解 2.5Configuration注解 2.6 注解之间的关系 3.方法注解 3.1 方法注解要配合类注解来使用。 3.2 重命名Bean 4.获取Bean对象对象装配 4.1属性注⼊常用 4.2构造⽅法注⼊推荐使用 4.3Setter 注⼊ 4.4三种注⼊优缺点分析 4.5 Resource另⼀种注⼊关键字 4.6 Autowired 和 Resource 区别 4.7 解决同⼀类型多个 Bean 的报错 1.存储Bean对象的注解 两种五大类注解和方法注解 1.1 五大类注解 Controller 控制器验证用户广义用户包括前端请求的数据正确性类似于安保系统 Service 服务服务层用来编排和调度具体执行方法的客服中心 Repository 持久层和数据库的交互执行者 DAO层Date Accsess Object数据访问层 Component 组件工具类 Configuration 配置项项目当中的一些配置存储项目当中的一些注解 1.2 方法注解 Bean 1.3添加注解的依赖 Spring设计理念约定大于配置小驼峰的形式 在resources文件夹下创建spring.xml设置扫描包的路径 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contenthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd !-- 扫描包的地址--content:component-scan base-packagecom.java.demo/content:component-scan /beans 2.注解的使用 1.添加spring依赖pom.xml dependencies!-- https://mvnrepository.com/artifact/org.springframework/spring-context --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.13/version/dependency/dependencies 2.添加启动类 2.1  controller注解 package com.java.demo.controller;import org.springframework.stereotype.Controller;Controller //将当前类存储到spring中 public class StudentController {public void sayHi(){System.out.println(do studentController sayHi());} } import com.java.demo.controller.StudentController; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App {public static void main(String[] args) {//1.得到Spring对象ApplicationContext context new ClassPathXmlApplicationContext(spring.xml);//2.得到bean对象StudentController studentController context.getBean(studentController,StudentController.class);//3.使用beanstudentController.sayHi();} } 注意  默认情况原类名首字母小写就能读取到Bean对象 特例原类名如果首字母和第二字母都是大写的情况下那么bean名称就是原类名 2. 2Service注解 package com.java.demo.service; import org.springframework.stereotype.Service; Service public class StudentService {public void sayHi(){System.out.println(StudentService sayHi());} }ApplicationContext context new ClassPathXmlApplicationContext(spring.xml); StudentService studentService context.getBean(studentService,StudentService.class); studentService.sayHi(); 2.3.Resopsitory注解 import org.springframework.stereotype.Repository; Repository public class StudentRepository {public void sayhi(){System.out.println(StudentRepository sayhi);} } ApplicationContext context new ClassPathXmlApplicationContext(spring.xml);StudentRepository studentRepository context.getBean(studentRepository,StudentRepository.class); studentRepository.sayhi(); 2.4Component注解 import org.springframework.stereotype.Component; Component public class StudentComponent {public void sayhi(){System.out.println(StudentComponent sayhi);} } ApplicationContext context new ClassPathXmlApplicationContext(spring.xml); StudentComponent studentComponent context.getBean(studentComponent,StudentComponent.class); studentComponent.sayhi(); 2.5Configuration注解 import org.springframework.context.annotation.Configuration; Configuration public class StudentConfiguration {public void sayhi(){System.out.println(StudentConfiguration sayhi);} } ApplicationContext context new ClassPathXmlApplicationContext(spring.xml); StudentConfiguration studentConfiguration context.getBean(studentConfiguration,StudentConfiguration.class); studentConfiguration.sayhi(); 2.6 注解之间的关系 Controller / Service / Repository / Configuration 等注解的源码他们属于Component 的“⼦类”。 3.方法注解 类注解是添加到某个类上的⽽⽅法注解是放到某个⽅法上的。 3.1 方法注解要配合类注解来使用。 在 Spring 框架的设计中⽅法注解 Bean 要配合类注解才能将对象正常的存储到 Spring 容器中如下代码所示   Component public class Users { Bean public User user1() { User user new User(); user.setId(1); user.setName(Java); return user; } }3.2 重命名Bean 可以通过设置 name 属性给 Bean 对象进⾏重命名操作如下代码所示: Component public class Users { Bean(name {u1}) public User user1() { User user new User(); user.setId(1); user.setName(Java); return user; } } name 其实是⼀个数组⼀个 bean 可以有多个名字 Bean(name {u1, us1}) public User user1() { User user new User(); user.setId(1); user.setName(Java); return user; } 问题当Bean使用了重命名之后那么默认的方法名是否还能获取对象 答案不能当给Bean对象重命名之后默认的使用方法名获取对象的方式就不能使用了。 4.获取Bean对象对象装配 获取对象装配的方法 1. 属性注⼊ 2. 构造⽅法注⼊ 3. Setter 注⼊ 4.1属性注⼊常用 属性注⼊是使⽤ Autowired 实现的将 Service 类注⼊到 Controller 类中。 优点简单 缺点 1.没办法实现final修饰的变量注入 2.兼容性不好只适用于IoC容器 3.风险点因为写法简单所以违背单一设计原则的概论更大。 4.2构造⽅法注⼊推荐使用 构造方法注入Spring官方推荐的注入方式可以不加Autowired。 特点如果当前类中只有一个构造方法的话那么Autowired注解可以省略优点 1.可以注入一个不可变的对象使用了final修饰的对象 2.注入的对象不会被修改构造方法只能执行一次 3.构造方法注入可以保证注入对象完全被初始化 4.构造方法的兼容性通用性更好 4.3Setter 注⼊ Setter 注⼊和属性的 Setter ⽅法实现类似只不过在设置 set ⽅法的时候需要加上 Autowired 注 解 优点Setter注入非常符合单一设计原则每个方法只传递一个对象。缺点 1.没办法实现final修饰的变量注入 2.使用setter注入的对象对象可能会被修改 示例代码 package com.java.demo.controller;import com.java.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller;import javax.annotation.Resource;Controller public class UserController {//1.属性注入Autowired //注入对象Resourceprivate UserService userService;//2.Setter注入private UserService userService;AutowiredResourcepublic void setUserService(UserService userService) {this.userService userService;}//3.构造方法注入private final UserService userService;Autowired//Resource //不能用在构造方法上public UserController(UserService userService) {this.userService userService;}public void sayHi(){System.out.println(com.java.demo - do UserController sayHi());userService.sayHi();userService.age 20;userService.sayHi();} } 4.4三种注⼊优缺点分析 1.属性注⼊的优点是简洁使⽤⽅便缺点是只能⽤于 IoC 容器如果是⾮ IoC 容器不可⽤并且只有在使⽤的时候才会出现 NPE空指针异常。 2.构造⽅法注⼊是 Spring 推荐的注⼊⽅式它的缺点是如果有多个注⼊会显得⽐较臃肿但出现这种情况你应该考虑⼀下当前类是否符合程序的单⼀职责的设计模式了它的优点是通⽤性在使⽤之前⼀定能把保证注⼊的类不为空。 3.Setter ⽅式是 Spring 前期版本推荐的注⼊⽅式但通⽤性不如构造⽅法所有 Spring 现版本已 经推荐使⽤构造⽅法注⼊的⽅式来进⾏类注⼊了。 4.5 Resource另⼀种注⼊关键字 Autowired 和 Resource 的区别 1.出身不同Autowired 来⾃于 Spring⽽ Resource 来⾃于 JDK 的注解 2.使⽤时设置的参数不同相⽐于 Autowired 来说Resource ⽀持更多的参数设置例如 name 设置根据名称获取 Bean。 3.Autowired 可⽤于 Setter 注⼊、构造函数注⼊和属性注⼊⽽ Resource 只能⽤于 Setter 注 ⼊和属性注⼊不能⽤于构造函数注⼊。 解决同⼀类型多个 Bean 的报错 a. 使⽤ Resource(name) b. 使⽤ Qualifier() 4.6 Autowired 和 Resource 区别 1.出身不同Autowired 来⾃于 Spring⽽ Resource 来⾃于 JDK 的注解2.使⽤时设置的参数不同相⽐于 Autowired 来说Resource ⽀持更多的参数设置例如 name 设置根据名称获取 Bean。3.Autowired 可⽤于 Setter 注⼊、构造函数注⼊和属性注⼊⽽ Resource 只能⽤于 Setter 注⼊和属性注⼊不能⽤于构造函数注⼊4.拓展区别 在Spring(容器)中找Bean有两种方式 1.根据类型查找 2.根据名称查找 Autowired先根据类型查找byType之后再根据名称查找(byname)  Resource先根据名称查找(byname)之后再根据类型查找byType 4.7 解决同⼀类型多个 Bean 的报错 a. 使⽤ Resource(name)重命名 b. 使⽤ Autowired和Qualifier()进行重命名 package com.java.demo.controller;import com.java.demo.entity.User; import com.java.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller;import javax.annotation.Resource;Controller public class UserController2 {//Resource(name user1)//1.属性注入方式AutowiredQualifier(value user1)private User user;public void sayHi(){System.out.println(com.java.demo - do UserController sayHi());System.out.println(user.getUsername());} }
http://www.hkea.cn/news/14489592/

相关文章:

  • 山西省经济建设投资公司网站做付费软件网站
  • 建站 discuz做美食的网站哪个好
  • wordpress移植谷歌seo怎么优化
  • 灯饰模板网站wordpress前台显示英文
  • 黄圃网站建设图片在线转外链
  • 广州淘宝网站建设wordpress怎么做分页
  • 北海做网站有哪家好免费ppt模板软件哪个好
  • 营销网站认识用响应式做旧书网站
  • 如何修改网站底部东营网站制作
  • 怎么建设只要注册就赚钱的网站wordpress4.9下载
  • 黄岛网站建设服务公司济南优化seo网站建设
  • 宜昌网站建设扁平化设计风格的网站
  • 网站 的空间做市场调查的网站免费
  • 网站建设人力资源人员配置傻瓜式网页制作工具
  • 外贸网站建设公司流程图wordpress 多个置顶
  • 没有公司可以做网站吗石家庄网站建设行业公司
  • 商河网站建设官方网站怎么备案
  • 郑州网站设计哪家公司好梓潼网站建设
  • hostinger建站wordpress织梦网站更新Html
  • 做一下网站收购废钢晋中住房保障和城乡建设局网站
  • 超简单网站网站优化平台有哪些
  • 女和女做网站工作室主题网站模板
  • 网站后期维护方案手机销售网站怎么做
  • 简单的网站建设公司实时热搜
  • 怎样使用自己的电脑做网站wordpress 网上商城
  • 简述电子商务网站的建设流程图dw做的网站如何上传
  • wordpress 站点个人网站如何做即时支付
  • soho外贸网站建设扬州百度关键词优化
  • 虚拟主机网站建设过程网络推广优化服务
  • 建设酒店网站ppt模板下载中国龙城室内设计联盟