问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

myelipse怎么导入srping-boot

发布网友 发布时间:2022-04-25 20:57

我来回答

1个回答

热心网友 时间:2022-04-10 09:29

Helloworld使用传统的springmvc,需要配置web.xml,applicationContext.xml,然后打包为war在tomcat中运行,而如果使用springboot,一切都变得简单起来了。下面使用Maven来创建springboot的webapp工程pom.xml4.0.0org.springframeworkgs-spring-boot0.1.0org.springframework.bootspring-boot-starter-parent1.3.3.RELEASEorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtest1.8org.springframework.bootspring-boot-maven-pluginHelloControllerpackagehello;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassHelloController{@RequestMapping("/")publicStringindex(){return"GreetingsfromSpringBoot!";}}其中:@RestController表示使用springmvc来接收request请求@RequestMapping映射到主页当请求返回的时候,是纯文本,那是因为@RestController是由@Controller和@ResponseBody组成Application@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){ApplicationContextctx=SpringApplication.run(Application.class,args);System.out.println("Let'sinspectthebeansprovidedbySpringBoot:");}}其中:@SpringBootApplication代表了其有四个注解组成:@Configuration,@EnableAutoConfiguration,@EnableWebMvc,@ComponentScan在SpringApplication.run中会去自动启动tomcatrun方法返回上下文,在这个上下文中可以拿到所有的bean没有一行配置代码、也没有web.xml。基于SpringBoot的应用在大多数情况下都不需要我们去显式地声明各类配置,而是将最常用的默认配置作为约定,在不声明的情况下也能适应大多数的开发场景。总体而言springboot是对javawebapp开发的简化单元测试@RunWith(SpringJUnit4ClassRunner.class)@SpringApplicationConfiguration(classes=MockServletContext.class)@WebAppConfigurationpublicclassHelloControllerTest{privateMockMvcmvc;@Beforepublicvoidbefore()throwsException{mvc=MockMvcBuilders.standaloneSetup(newHelloController()).build();}@Afterpublicvoidafter()throwsException{}/****Method:index()**/@TestpublicvoidtestIndex()throwsException{//TODO:Testgoesheremvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()).andExpect(content().string(equalTo("GreetingsfromSpringBoot!")));}}建立restfullweb服务器接上,使用srpingboot建立web服务器就非常简单了,首先建立一个pojo类publicclassGreeting{privatefinallongid;privatefinalStringcontent;}然后使用control来handlehttp请求@RestControllerpublicclassGreetingController{privatestaticfinalStringtemplate="Hello,%s!";privatefinalAtomicLongcounter=newAtomicLong();@RequestMapping("/greeting")publicGreetinggreeting(@RequestParam(value="name",defaultValue="World")Stringname){returnnewGreeting(counter.incrementAndGet(),String.format(template,name));}}其中:@RequestParam表明了参数要求,如果要必填则设置required=true返回是一个对象,会被自动转换为json当我们访问:greeting时候返回{"id":1,"content":"Hello,World!"}greeting?name=User时候返回{"id":2,"content":"Hello,User!"}数据库访问另一个非常常用的问题。在传统开发中,我们需要配置:类路径上添加数据访问驱动实例化DataSource对象,指定url,username,password注入JdbcTemplate对象,如果使用Mybatis,还要配置框架信息下面一个例子讲述用用springboot来代替。数据访问层我们将使用SpringDataJPA和Hibernate(JPA的实现之一)。开始之前先介绍两个概念springdata为了简化程序与数据库交互的代码,spring提供了一个现成的层框架,spring家族提供的spring-data适用于关系型数据库和nosql数据库;例如SpringDataJPA,SpringDataHadoop,SpringDataMongoDB,SpringDataSolr等;具体的可以参考官网:.mysql.jdbc.Driverspring.datasource.password=xxx#SpecifytheDBMSspring.jpa.database=MYSQL#Showornotlogforeachsqlqueryspring.jpa.show-sql=true#Hibernateddlauto(create,create-drop,update)spring.jpa.hibernate.ddl-auto=update#Namingstrategyspring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy#strippedbeforeaddingthemtotheentitymanager)spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect其中,hibernate的ddl-auto=update配置表名,数据库的表和列会自动创建写下实体类:@Entity@Table(name="student")publicclassStudent{@Id@GeneratedValue(strategy=GenerationType.AUTO)privatelongid;@NotNullprivateStringname;privateStringage;}@Entity,说明被这个注解修饰的类应该与一张数据库表相对应,表的名称可以由类名推断,当然了,也可以明确配置,只要加上@Table(name="books")即可。需要特别注意,每个Entity类都应该有一个protected访问级别的无参构造函数,用于给Hibernate提供初始化的入口。@Idand@GeneratedValue:@Id注解修饰的属性应该作为表中的主键处理、@GeneratedValue修饰的属性应该由数据库自动生成,而不需要明确指定。@ManyToOne,@ManyToMany表明具体的数据存放在其他表中,在这个例子里,书和作者是多对一的关系,书和出版社是多对一的关系,因此book表中的author和publisher相当于数据表中的外键;并且在Publisher中通过@OneToMany(mapped="publisher")定义一个反向关联(1——>n),表明book类中的publisher属性与这里的books形成对应关系。@Repository用来表示访问数据库并操作数据的接口,同时它修饰的接口也可以被componentscan机制探测到并注册为bean,这样就可以在其他模块中通过@Autowired织入。:@RepositorypublicinterfaceCustomerRepositoryextendsCrudRepository{ListfindByLastName(StringlastName);}详细的可以看springjpa的具体介绍。最后使用:@RestControllerpublicclassDbController{@AutowiredprivateStudentDao;@RequestMapping("/get-student-counts")@ResponseBodypublicStringgetAllStudents(){Liststudents=(List).findAll();returnString.format("%d",students.size());}}主要一点是:我在CustomerRepository实现中每天添加方法:findByLastName,@Autowired就会一直报错。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 KPL职业战队的收入来源是什么? 足球俱乐部怎么赚钱? 想做大数据开发 需要学spring,springBoot吗 怎样才能赞助钱,我发现我花钱太快了,有钱就想花! 奥运会一般广告收入是多少? 曼联球衣广告费是归俱乐部所有还是归球衣赞助商【耐克】所有,还是双方分成?说明理由 赞助商和投资商有什么区别 武汉启明泰和软件服务有限公司怎么样? 寻求赞助商合作 王者荣耀KPL那些没有拿到什么成绩的战队经济来源是什么? 选大数据培训要考虑哪些问题? 举办奥运会有什么重要性? 我是外联部的拉赞助有多难?(我是大一新生) 在我看来,拉赞助可分为四个阶段:策划、交涉、落实、反馈。每个阶段有不同的工作重心及应对方法。 意甲联赛冠军有什么奖励 世界杯出场费由何而来呢? 大学的学生会是怎么为学校拉赞助的 转转二手手机靠谱吗? 广告活动的赞助费如何入帐 怎么通过转转寄卖业务来卖手机? 学java想去动力节点,他们课程怎么样? 为啥2018年房地产股票大跌?其实2018年房地产利润普遍超过2017年。 是多少 历史上涨幅最大的股票是谁涨了多少倍最高 日本人是如何祭奠先祖的,传统习俗中的“迎火送火”又是什么? 2018龙头股 人死后下葬后的前三天为什么要送火? 送火是什么意思 黑名单怎么回事? 人下葬后三天内为什么要送火? 被列入黑名单,咋回事? 黑名单是怎么回事 晚上回家碰到给死人送火是什么意思? 我怎么会成了黑名单,怎么回事 人死后为什么要送三把火? 正月十五元宵节湖南攸县送火把上坟什么意思? 送火机的含义是什么? 送火机的含义是什么? 梦农村给去世老人送烟火是什么意思 梦农村给去世老人送烟火是什么意思 今天是送火神的日子? 送火神什么意思??