网站开发好的公司招聘,乐清住房和城乡建设部网站官网,分析对手网站,高青县住房和城乡建设局网站项目开发 创建项目环境配置关联git新增模块项目启动打印地址日志使用httpclient进行idea内部控制台测试使用AOP拦截器打印日志 创建项目
创建一个空项目#xff0c;并勾选下面选项 然后进入pom.xml中修改项目配置 根据这个链接选则#xff0c;修改项目的支持版本 链接#… 项目开发 创建项目环境配置关联git新增模块项目启动打印地址日志使用httpclient进行idea内部控制台测试使用AOP拦截器打印日志 创建项目
创建一个空项目并勾选下面选项 然后进入pom.xml中修改项目配置 根据这个链接选则修改项目的支持版本 链接https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 因为项目是springboot3版本以上的所以选则按照第一个中的配置进行配。 修改parent标签中的版本为图所示。 修改springcloud版本为图所示 ps修改完了就可以在maven管理中有个刷新的按键进行版本配置刷新或者说idea退了重进就会自动刷新。
然后点击src目录下的SpringBootApplication点击run只要能执行就可以了
环境配置
首先进行项目配置 seetings——搜索encode弹出下面这个界面——点击console ; public static void main(String[]args){ SpringApplication appnew SpringApplication(类名.class); Environment envapp.run(args).getEnvironment(); LOG.info(启动成功); LOG.info(地址:\thttp://127.0.0.1:{},env.getProperty(server.port)); }
注意前面这张图可能最终打印出来的地址有的人点的时候打不开那么我们就可以根据你在controller中的写的路由地址 GetMapping(/路由地址.com)然后将路由地址带入到这里的LOG.info输出信息中修改为
地址:\thttp://127.0.0.1:{}/路由地址.com接下来就是在application.properties文件中进行修改 server.servlet.context-path/模块名 这一步的操作是我们在用mapping的路径进行访问的时候我们必须在访问路径前添一个模块名才能进行接着的访问。 比如原来可以直接通过这个进行访问
http://127.0.0.1:8001/路由地址但是现在在配置文件中修改了server服务我们必须下面这样才能接着访问
http://127.0.0.1:8001/模块名/路由地址这一步的作用是为了方便做后续的路由转发在网关模块里将接口带/某个模块的请求都转发到这个模块里。可以抽象比喻某个模块等于某个年级比如小学五年级然后路由地址等于某个班里的具体某个人当我想找五年级一班的某个人时我首先是找到五年级的这个年级内然后根据具体的路由比如三班王小明就能找到这么一个具体的人然后用网址http//127.0.0.1自定义端口号/五年级/三班/王小明就找到具体的人了
修改一下idea中项目的访问路径 首把打印地址日志的代码修改一下 将最初的代码 LOG.info(地址:\thttp://127.0.0.1:{},env.getProperty(server.port));修改为下面的这种情况这里的{ }花括号表示占位符意思就是把后面env.getProperty中的内容显示在占位符{ }中 LOG.info(地址:\thttp://127.0.0.1:{}{}/hello,env.getProperty(server.port),env.getProperty(server.servlet.context-path));使用httpclient进行idea内部控制台测试
项目每次需要我们跳转到chorm浏览器或者和edge浏览器去手动输入localhost等等来访问比较麻烦那么有没有一种更简单的操作可以直接就在idea内部就能像浏览器那样访问输出的结果自动显示在idea内部的工作台上呢 答案是肯定有这样的操作接下来就是介绍httpclient这个idea中带有的操作。
打开idea——我们找到tool菜单下——httpclient——然后点击创建httpclient 然后就帮我们生成了一个下面这个东西 然后将它帮我们生成的这个路径你需要做的就是将这个http请求路径修改成你启动springboot项目后平时在chorm浏览器上访问的路径 然后再项目运行哈了就是。 这里显示输出了hello world就表示可以在本地访问 在之后的项目开发中我们如果想就在本地idea的内部就进行测试的话可以在我们的项目模块里创建个文件夹专门来存这个访问测试文件。注意这里的测试文件是以xxx.http结尾的文件后缀
然后在这个文件内部可以手动写个gtr (注意看这里有两个请求一个是gtr表示GET不带参数的请求一个是gtrp表示GET的访问路径是带参数的这个什么意思呢就是我们在访问一些网站路径的时候可能有些网站后缀有123类似的数字。)
使用AOP拦截器打印日志
我们的项目不能是启动了就成功了不管了我们应该给项目的启动运行分别加上日志显示每一步怎么了怎么了这样后期在检查报错的的时候我们就知道应该改哪个地方的代码。
常见的日志操作就是在我们的controller层比如GETMapping之前设一个日志表示项目启动然后return之前加个日志表示项目运行然后再最后面加个项目结束之类的日志。但是这样的操作实在是太太太烦琐了特别是后期代码多的时候根本不知道哪个代码是什么。
那么有没有一种更方便的东西来记录日志信息呢答案是显然的这里就介绍到了AOP请求。 dependencyaop依赖groupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId/dependency增加两个拦截器 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactId/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactId/dependency一个注意点使用Component加注解的类会在不同包下被扫描到。什么意思呢就是之前的类文件我们是放在同一个包下进行扫描的所以就不会出现报错。现在是将类分别放到不同的包下所以某个要用到的类就需要在上头加个component注解 Pointcut(execution(public * com.xiqi..*Controller.*(..)))//*com.xiqi这一句表示在com.xiqi..*Controller这个路径下所有的controller都能被拦截到都能生效。而这里的.*(..)则表示controller类下所有的方法和任意的参数都能拦截。public void controllerPointcut() {}Before(controllerPointcut())public void doBefore(JoinPoint joinPoint) {
//这段代码表示前置通知意思就是在我们想要拦截的controller类中定义的方法执行前就通过调用了这个方法然后就开始打印日志了他的作用等于在项目的方法运行前就打印日志表示项目启动。